Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
...
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 4 files changed
  • 2 commit comments
  • 1 contributor
Showing with 95 additions and 10 deletions.
  1. +35 −7 make/build-common.xml
  2. +2 −2 make/build-jogl.xml
  3. +1 −1 make/build-nativewindow.xml
  4. +57 −0 make/pom.xml
View
42 make/build-common.xml
@@ -333,22 +333,50 @@
<!-- ================================================================== -->
<!-- GlueGen and BuildStaticGLInfo creation, task setup and Java file generation -->
<!--
- - Build GlueGen
+ - Build GlueGen or fetch it from maven repo
-->
- <target name="common.gluegen.build" depends="common.init" unless="common.gluegen.build.done">
- <property name="common.gluegen.build.done" value="true" />
+ <condition property="common.gluegen.dont.build">
+ <or>
+ <isset property="gluegen.maven.fetch"/>
+ <isset property="common.gluegen.build.done"/>
+ </or>
+ </condition>
+
+ <target name="common.gluegen.build" depends="common.init" unless="gluegen.maven.fetch">
+ <echo message="common.gluegen.build: gluegen.maven.fetch=${gluegen.maven.fetch}"/>
+ <property name="common.gluegen.build.done" value="true"/>
<!-- Run the GlueGen build to ensure that the GlueGen ANT task
- has been built. -->
<!-- FIXME: remove passing down of antlr.jar when gluegen.properties is on all
nightly build machines -->
<ant antfile="${gluegen.build.xml}" dir="${gluegen.make}" target="all" inheritAll="false">
- <propertyset>
- <propertyref name="antlr.jar" />
- <!--propertyref name="gluegen.nsig" /-->
- </propertyset>
+ <propertyset>
+ <propertyref name="antlr.jar"/>
+ <!--propertyref name="gluegen.nsig" /-->
+ </propertyset>
</ant>
</target>
+ <target name="common.gluegen.maven.fetch" if="gluegen.maven.fetch">
+ <!--pom.xml currently says to use the latest snapshot version-->
+ <exec executable="mvn" dir="${make}">
+ <arg value="dependency:copy-dependencies"/>
+ <arg value="-DincludeArtifactIds=gluegen-rt"/>
+ <arg value="-Dmdep.stripVersion=true"/>
+ <arg value="-DoutputDirectory=${build.gluegen}"/>
+ </exec>
+ <exec executable="mvn" dir="${make}">
+ <arg value="dependency:copy-dependencies"/>
+ <arg value="-DincludeArtifactIds=gluegen-cpptasks"/>
+ <arg value="-Dmdep.stripVersion=true"/>
+ <arg value="-DoutputDirectory=${build.gluegen}/../make"/>
+ </exec>
+ <unzip src="${build.gluegen}/../make/gluegen-cpptasks.jar" dest="${build.gluegen}/../make"/>
+ </target>
+
+ <target name="common.gluegen" depends="common.gluegen.build, common.gluegen.maven.fetch">
+ <echo message="common.gluegen: gluegen.maven.fetch=${gluegen.maven.fetch}"/>
+ </target>
</project>
View
4 make/build-jogl.xml
@@ -674,7 +674,7 @@
- from the C GL headers. This involves setting the taskdef and creating
- the classpath reference id then running the task on each header.
-->
- <target name="java.generate" depends="common.gluegen.build, java.generate.check" unless="java.generate.skip">
+ <target name="java.generate" depends="common.gluegen, java.generate.check" unless="java.generate.skip">
<!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
<taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask"
@@ -991,7 +991,7 @@
includes="com/jogamp/opengl/util/glsl/fixedfunc/impl/FixedFuncImpl.java" />
</copy>
</target>
- <target name="java.generate.composable.pipeline.custom" depends="init, common.gluegen.build, java.generate.composable.pipeline.custom.glfixfunc">
+ <target name="java.generate.composable.pipeline.custom" depends="init, common.gluegen, java.generate.composable.pipeline.custom.glfixfunc">
</target>
<!-- ================================================================== -->
View
2 make/build-nativewindow.xml
@@ -266,7 +266,7 @@
- from the C GL headers. This involves setting the taskdef and creating
- the classpath reference id then running the task on each header.
-->
- <target name="java.generate" depends="common.gluegen.build, java.generate.check" unless="java.generate.skip">
+ <target name="java.generate" depends="common.gluegen, java.generate.check" unless="java.generate.skip">
<!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
<taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask"
View
57 make/pom.xml
@@ -0,0 +1,57 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jogamp.jogl</groupId>
+ <artifactId>jogl</artifactId>
+ <packaging>jar</packaging>
+ <name>JOGL</name>
+ <version>this pom is a stub, just to resolve dependencies</version>
+ <description>Java™ Binding for the OpenGL® API</description>
+
+ <repositories>
+ <repository>
+ <id>sonatype-nexus-snapshots</id>
+ <snapshots/>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <artifactId>gluegen-rt-natives</artifactId>
+ <groupId>org.jogamp.gluegen</groupId>
+ <version>[1.0-beta07-SNAPSHOT,)</version> <!--TODO:exclude snapshot versions from this range-->
+ <classifier>${envClassifier}-${os.arch}</classifier> <!--Can't use ${os.name} - it's uppercase-->
+ </dependency>
+ <dependency>
+ <artifactId>gluegen-cpptasks</artifactId>
+ <groupId>org.jogamp.gluegen</groupId>
+ <version>[1.0-beta07-SNAPSHOT,)</version> <!--TODO:exclude snapshot versions from this range-->
+ </dependency>
+ </dependencies>
+
+ <!--TODO: detect more OS types or inject encClassifier from ant-->
+ <profiles>
+ <profile>
+ <id>windows</id>
+ <activation>
+ <os>
+ <family>windows</family>
+ </os>
+ </activation>
+ <properties>
+ <envClassifier>windows</envClassifier>
+ </properties>
+ </profile>
+ <profile>
+ <id>linux</id>
+ <activation>
+ <os>
+ <family>unix</family>
+ </os>
+ </activation>
+ <properties>
+ <envClassifier>linux</envClassifier>
+ </properties>
+ </profile>
+ </profiles>
+</project>

Showing you all comments on commits in this comparison.

@sgothel
Owner

1st of all thank you very much !

target name="common.gluegen" depends="common.gluegen.build, common.gluegen.maven.fetch

I would make it the other way around, ie depends="..gluegen.maven.fetch, ..gluegen.build",
where you don't touch gluegen.build (ie change the entry),
but gluegen.maven.fetch will set gluegen.build.done := true.
IMHO this is less invasive and I would accept such low invasive change much more.

BTW do we have a test environment for maven ?

I would appreciate an email chat .. Thank you, waiting for your next version.

@sgothel
Owner

you also need to merge with my latest master branch, thank you

Something went wrong with that request. Please try again.