/jedio

Uniform, fluent access to files, urls and other resources API for java, kotlin and scala.

Primary LanguageJavaApache License 2.0Apache-2.0

jedio

Uniform, fluent access to files, urls and other resources API for java, kotlin and scala.

Versions Build Status

Usage

ToDo

Quasar/Comsat/Fibers config

  • If quasar is needed the client should configure pom.xml to use quasar-agent
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.1</version>
        <executions>
          <execution>
            <id>one</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>co.paralleluniverse</groupId>
                  <artifactId>quasar-core</artifactId>
                  <classifier>jdk8</classifier>
                  <outputDirectory>${project.build.directory}</outputDirectory>
                  <destFileName>quasar-agent.jar</destFileName>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>second</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
          <argLine>-javaagent:${co.paralleluniverse:quasar-core:jar}</argLine>
          <useSystemClassLoader>false</useSystemClassLoader>
        </configuration>
      </plugin>
    <!-- <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          <archive>
            <manifestEntries>
              <Premain-Class>co.paralleluniverse.fibers.instrument.JavaAgent</Premain-Class>
              <Agent-Class>co.paralleluniverse.fibers.instrument.JavaAgent</Agent-Class>
              <Can-Redefine-Classes>true</Can-Redefine-Classes>
              <Can-Retransform-Classes>true</Can-Retransform-Classes>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin> -->
  • This will run using the quasar agent (with it's own dependencies)
    mvn install -DskipTests
    java -javaagent:target/dependency/quasar-core-0.7.10-jdk8.jar -Xbootclasspath/a:target/dependency/kryo-serializers-0.42.jar;target/dependency/kryo-4.0.0.jar;target/dependency/guava-26.0-jre.jar -Dco.paralleluniverse.fibers.verifyInstrumentation=true -Dco.paralleluniverse.fibers.detectRunawayFibers=false -jar <yourapp>.jar --server.port=8080
    
  • macOS run command:
    java -javaagent:target/dependency/quasar-core-0.7.10-jdk8.jar -Xbootclasspath/a:target/dependency/kryo-serializers-0.42.jar:target/dependency/kryo-4.0.0.jar:target/dependency/guava-26.0-jre.jar -Dco.paralleluniverse.fibers.detectRunawayFibers=false -jar <yourapp>.jar --server.port=8080
    

Configure eclipse with quasar

Add quasar agent In 'Eclipse -> Preferences -> Java -> Intalled JREs -> edit your jre -> Default VM arguments' add this: (or after maven copies them in target/dependency: -javaagent:target/dependency/quasar-core-0.7.10-jdk8.jar -Xbootclasspath/a:target/dependency/kryo-serializers-0.42.jar;target/dependency/kryo-4.0.0.jar;target/dependency/guava-26.0-jre.jar -Dco.paralleluniverse.fibers.verifyInstrumentation=true ) old: -javaagent:C:\Users\$USERNAME\.m2\repository\co\paralleluniverse\quasar-core\0.7.10\quasar-core-0.7.10-jdk8.jar

Maven

Dependency

<dependency>
  <groupId>org.raisercostin</groupId>
  <artifactId>jedio</artifactId>
  <version>0.1</version>
</dependency>

Repository

<repository>
  <id>raisercostin-github</id>
  <url>https://raw.githubusercontent.com/raisercostin/maven-repo/master/</url>
  <snapshots><enabled>false</enabled></snapshots>
</repository>

Other libraries

Development

  • To release
    • npm run release-prepare
      npm run release-perform-local -- --releaseVersion 0.86