Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

Commit

Permalink
Changing artifact names to something more Maven friendky. Turning the…
Browse files Browse the repository at this point in the history
… functionaljava examples into tests
  • Loading branch information
Hakan Raberg committed Oct 28, 2011
1 parent 4ad46ac commit 8d355c3
Show file tree
Hide file tree
Showing 35 changed files with 836 additions and 304 deletions.
5 changes: 3 additions & 2 deletions .classpath
Expand Up @@ -5,6 +5,9 @@
<classpathentry kind="src" output="target/example-classes" path="src/example/java"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/jruby"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/rubyspec"/>
<classpathentry kind="src" output="target/scala-classes" path="src/main/scala"/>
<classpathentry kind="src" output="target/scala-test-classes" path="src/test/scala"/>
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/junit-4.7.jar" sourcepath="lib/src/junit-4.7-sources.jar"/>
<classpathentry kind="lib" path="lib/extra166y.jar" sourcepath="lib/src/extra166y.zip"/>
Expand All @@ -19,8 +22,6 @@
<classpathentry kind="lib" path="lib/ecj-3.5.2.jar" sourcepath="lib/src/ecjsrc-3.5.2.zip"/>
<classpathentry kind="lib" path="lib/scala-compiler-2.8.0.final.jar"/>
<classpathentry kind="lib" path="lib/scala-library-2.8.0.final.jar"/>
<classpathentry kind="lib" path="target/scala-classes"/>
<classpathentry kind="lib" path="target/scala-test-classes"/>
<classpathentry kind="lib" path="lib/functionaljava-3.0.jar" sourcepath="lib/src/functionaljava-3.0-sources.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
35 changes: 18 additions & 17 deletions .project
@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>enumerable</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>enumerable</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.scala-ide.sdt.core.scalanature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
6 changes: 3 additions & 3 deletions README.markdown
Expand Up @@ -52,7 +52,7 @@ Block parameters are defined using annotated static fields. For more examples se

Enumerable.java is packaged as a [java agent](http://java.sun.com/javase/6/docs/api/java/lang/instrument/package-summary.html). ASM has been moved to a local package (lambda.asm).

java -javaagent:enumerable-agent-<version>.jar [...]
java -javaagent:enumerable-java-<version>.jar [...]


Look at [LamdaLoader](http://github.com/hraberg/enumerable/blob/master/src/main/java/lambda/weaving/LambdaLoader.java) if you have different class loading needs.
Expand All @@ -71,13 +71,13 @@ To avoid the use of the agent, or any other non standard class loading, you can

java -cp <project class path> lambda.weaving.LambdaCompiler project.jar

The jar will be compiled and rebuilt in place. The runtime dependency on `enumerable-agent-<version>.jar` as a library remains after AOT compilation.
The jar will be compiled and rebuilt in place. The runtime dependency on `enumerable-java-<version>.jar` as a library remains after AOT compilation.

See the targets `aot-compile-tests` and `aot-tests` in [build.xml](http://github.com/hraberg/enumerable/blob/master/build.xml) for an example.

### Binary Distribution

`enumerable-agent-<version>.jar` is both the actual library, and the java agent enabling load time weaving of lambdas.
`enumerable-java-<version>.jar` is both the actual library, and the java agent enabling load time weaving of lambdas.

The binary distribution, when downloaded as a .tgz archive, or built using `ant dist`, doubles as an example project which can be directly imported into Eclipse.
Open *lambda.enumerable.EnumerableExample* to get started. The example bootstraps itself if needed, so you don't need to configure the javaagent. There's also a `build.xml` in the `example` folder, which includes targets for AOT compilation.
Expand Down
32 changes: 17 additions & 15 deletions build.xml
Expand Up @@ -106,14 +106,14 @@
</target>

<target name="agent-jar-uptodate">
<uptodate property="jarjar.notRequired" targetfile="target/enumerable-agent-${enumerable.version}.jar">
<uptodate property="jarjar.notRequired" targetfile="target/enumerable-java-${enumerable.version}.jar">
<srcfiles dir="src/main/java" includes="**/*" />
<srcfiles dir="src/main/scala" includes="**/*" />
</uptodate>
</target>

<target name="agent-jar" unless="jarjar.notRequired" depends="build,agent-jar-uptodate">
<jarjar jarfile="target/enumerable-agent-${enumerable.version}.jar">
<jarjar jarfile="target/enumerable-java-${enumerable.version}.jar">
<fileset dir="target/classes" />
<zipfileset src="lib/asm-all-${asm.version}.jar" />
<rule pattern="org.objectweb.asm.**" result="lambda.asm.@1" />
Expand All @@ -123,13 +123,13 @@
<attribute name="Can-Retransform-Classes" value="true" />
</manifest>
</jarjar>
<jar jarfile="target/enumerable-agent-${enumerable.version}.jar" update="true" encoding="UTF-8">
<jar jarfile="target/enumerable-java-${enumerable.version}.jar" update="true" encoding="UTF-8">
<fileset dir="target/scala-classes" />
</jar>
</target>

<target name="agent-jar-slim" unless="jarjar.notRequired" depends="agent-jar">
<jarjar jarfile="target/enumerable-agent-slim-${enumerable.version}.jar">
<jarjar jarfile="target/enumerable-java-slim-${enumerable.version}.jar">
<fileset dir="target/classes">
<exclude name="lambda/*.class" />
<exclude name="lambda/support/**/*.class" />
Expand All @@ -144,7 +144,7 @@
<attribute name="Can-Retransform-Classes" value="true" />
</manifest>
</jarjar>
<jar jarfile="target/enumerable-agent-slim-${enumerable.version}.jar" update="true" encoding="UTF-8">
<jar jarfile="target/enumerable-java-slim-${enumerable.version}.jar" update="true" encoding="UTF-8">
<fileset dir="target/scala-classes" />
</jar>
</target>
Expand All @@ -153,7 +153,7 @@
<target name="tests" depends="agent-jar">
<mkdir dir="target/junit" />
<junit fork="yes" forkmode="once" printsummary="withOutAndErr" failureproperty="tests.failed">
<jvmarg value="-javaagent:target/enumerable-agent-${enumerable.version}.jar" />
<jvmarg value="-javaagent:target/enumerable-java-${enumerable.version}.jar" />
<sysproperty key="lambda.weaving.debug" value="${lambda.weaving.debug}" />
<sysproperty key="lambda.weaving.debug.classes.dir" value="${lambda.weaving.debug.classes.dir}" />
<sysproperty key="lambda.weaving.debug.dev" value="${lambda.weaving.debug.dev}" />
Expand All @@ -162,6 +162,7 @@
<batchtest todir="target/junit">
<fileset dir="src/test/java">
<include name="**/*Test.java" />
<include name="**/functionaljava/*_*.java" />
<exclude name="**/CoreEnumerableRubySpecSuiteTest.java" />
</fileset>
</batchtest>
Expand All @@ -183,7 +184,7 @@
</target>

<target name="test-jar" depends="build">
<jar jarfile="target/enumerable-test-${enumerable.version}.jar" encoding="UTF-8">
<jar jarfile="target/enumerable-java-${enumerable.version}-test.jar" encoding="UTF-8">
<fileset dir="target/test-classes" />
<fileset dir="target/scala-test-classes" />
<fileset dir="target/example-classes">
Expand All @@ -194,7 +195,7 @@

<target name="aot-compile-tests" depends="test-jar">
<java fork="yes" classname="lambda.weaving.LambdaCompiler" failonerror="yes">
<arg value="target/enumerable-test-${enumerable.version}.jar" />
<arg value="target/enumerable-java-${enumerable.version}-test.jar" />
<sysproperty key="lambda.weaving.debug" value="${lambda.weaving.debug}" />
<sysproperty key="lambda.weaving.debug.classes.dir" value="${lambda.weaving.debug.classes.dir}" />
<sysproperty key="lambda.weaving.debug.dev" value="${lambda.weaving.debug.dev}" />
Expand All @@ -211,12 +212,13 @@
<sysproperty key="lambda.weaving.debug.dev" value="${lambda.weaving.debug.dev}" />
<sysproperty key="lambda.weaving.skipped.packages" value="${lambda.weaving.skipped.packages}" />
<classpath refid="enumerable.classpath" />
<classpath location="target/enumerable-test-${enumerable.version}.jar" />
<classpath location="target/enumerable-java-${enumerable.version}-test.jar" />
<classpath location="lib/junit-4.7.jar" />
<classpath location="lib/scala-compiler-${scala.version}.jar" />
<batchtest todir="target/junit-aot">
<fileset dir="src/test/java">
<include name="**/*Test.java" />
<include name="**/functionaljava/*_*.java" />
<exclude name="**/weaving/**/*Test.java" />
<exclude name="**/CoreEnumerableRubySpecSuiteTest.java" />
</fileset>
Expand All @@ -231,7 +233,7 @@

<target name="example-with-agent" depends="agent-jar">
<java fork="yes" classname="lambda.enumerable.EnumerableExample" failonerror="yes">
<jvmarg value="-javaagent:target/enumerable-agent-${enumerable.version}.jar" />
<jvmarg value="-javaagent:target/enumerable-java-${enumerable.version}.jar" />
<sysproperty key="lambda.weaving.debug" value="${lambda.weaving.debug}" />
<sysproperty key="lambda.weaving.debug.classes.dir" value="${lambda.weaving.debug.classes.dir}" />
<sysproperty key="lambda.weaving.debug.dev" value="${lambda.weaving.debug.dev}" />
Expand All @@ -242,7 +244,7 @@

<target name="example-with-verifier" depends="agent-jar">
<java fork="yes" classname="lambda.enumerable.EnumerableExample" failonerror="yes">
<jvmarg value="-javaagent:target/enumerable-agent-${enumerable.version}.jar" />
<jvmarg value="-javaagent:target/enumerable-java-${enumerable.version}.jar" />
<sysproperty key="lambda.weaving.debug" value="true" />
<sysproperty key="lambda.weaving.debug.classes.dir" value="${lambda.weaving.debug.classes.dir}" />
<sysproperty key="lambda.weaving.debug.dev" value="${lambda.weaving.debug.dev}" />
Expand All @@ -267,7 +269,7 @@

<target name="microbench" depends="agent-jar">
<java fork="yes" classname="lambda.MicroBench" failonerror="yes">
<jvmarg value="-javaagent:target/enumerable-agent-${enumerable.version}.jar" />
<jvmarg value="-javaagent:target/enumerable-java-${enumerable.version}.jar" />
<sysproperty key="lambda.weaving.debug" value="${lambda.weaving.debug}" />
<sysproperty key="lambda.weaving.debug.classes.dir" value="${lambda.weaving.debug.classes.dir}" />
<sysproperty key="lambda.weaving.debug.dev" value="${lambda.weaving.debug.dev}" />
Expand All @@ -277,14 +279,14 @@
</target>

<target name="source-jar">
<jar jarfile="target/enumerable-sources-${enumerable.version}.jar" encoding="UTF-8">
<jar jarfile="target/enumerable-java-${enumerable.version}-sources.jar" encoding="UTF-8">
<fileset dir="src/main/java" />
<fileset dir="src/main/scala" />
</jar>
</target>

<target name="test-source-jar">
<jar jarfile="target/enumerable-test-sources-${enumerable.version}.jar" encoding="UTF-8">
<jar jarfile="target/enumerable-java-${enumerable.version}-test-sources.jar" encoding="UTF-8">
<fileset dir="src/test/java" />
<fileset dir="src/test/jruby" />
<fileset dir="src/test/rubyspec" />
Expand All @@ -293,7 +295,7 @@
</target>

<target name="javadoc-jar" depends="javadoc">
<jar jarfile="target/enumerable-javadoc-${enumerable.version}.jar" encoding="UTF-8">
<jar jarfile="target/enumerable-java-${enumerable.version}-javadoc.jar" encoding="UTF-8">
<fileset dir="target/apidocs" />
</jar>
</target>
Expand Down
22 changes: 0 additions & 22 deletions src/example/java/lambda/functionaljava/euler/Problem1.java

This file was deleted.

29 changes: 0 additions & 29 deletions src/example/java/lambda/functionaljava/euler/Problem2.java

This file was deleted.

61 changes: 0 additions & 61 deletions src/example/java/lambda/functionaljava/euler/Problem3.java

This file was deleted.

27 changes: 0 additions & 27 deletions src/example/java/lambda/functionaljava/euler/Problem4.java

This file was deleted.

4 changes: 2 additions & 2 deletions src/example/project/.classpath
Expand Up @@ -2,9 +2,9 @@
<classpath>
<classpathentry kind="src" path="example/src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="enumerable-agent-@enumerable.version@.jar" sourcepath="enumerable-sources-@enumerable.version@.jar">
<classpathentry kind="lib" path="enumerable-java-@enumerable.version@.jar" sourcepath="enumerable-@enumerable.version@-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/enumerable-java-example/enumerable-javadoc-@enumerable.version@.jar!/"/>
<attribute name="javadoc_location" value="jar:platform:/resource/enumerable-java-example/enumerable-@enumerable.version@-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="example/target/classes"/>
Expand Down

0 comments on commit 8d355c3

Please sign in to comment.