summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Raynsford <[email protected]>2013-07-11 12:10:20 +0000
committerMark Raynsford <[email protected]>2013-07-11 12:10:20 +0000
commit28f86e2b0395f3cd761df904176219bb18f7731e (patch)
tree0197d92b09bd221e3eeb63ba57c214c9bf537010
parent82ff1aa59ee4d3573965068c7035370a71f59b33 (diff)
Deploy atomic jar files via newt, gluegen, nativewindow, and jogl packages.
-rw-r--r--maven/README.txt63
-rwxr-xr-xmaven/gluegen.pom.sh37
-rwxr-xr-xmaven/jogl.pom.sh37
-rwxr-xr-xmaven/make-copy-jars.sh21
-rw-r--r--maven/make-projects.txt34
-rw-r--r--maven/nativewindow.pom.in75
-rwxr-xr-xmaven/nativewindow.pom.sh37
-rw-r--r--maven/newt.pom.in75
-rwxr-xr-xmaven/newt.pom.sh37
9 files changed, 337 insertions, 79 deletions
diff --git a/maven/README.txt b/maven/README.txt
index 2cea946..7d6ea9a 100644
--- a/maven/README.txt
+++ b/maven/README.txt
@@ -153,69 +153,6 @@ Instructions (deploying a release to Central)
If there are still more projects to release, return to step 6.
------------------------------------------------------------------------
-Instructions (deploying something to the jogamp test repository)
-------------------------------------------------------------------------
-
-In order to deploy to the jogamp test repository, the artifacts must be
-deployed over SSH. As Maven now uses jsch [4], and because we require
-the use of SSH keypairs, and because jsch can't talk to OpenSSH's
-ssh-agent, it takes a bit of extra work to get deployment working
-over SSH.
-
- 1. First, it's necessary to generate a "master password" for
- Maven. This is analogous to a password used for a web browser
- keychain; it is used to encrypt all other passwords.
-
- So, pick a good password, and then encrypt it (where 'abcdefgh'
- is the password):
-
- $ mvn --encrypt-master-password abcdefgh
-
- The command will produce output similar to (note the braces):
-
- {Ugr6u/ykq9yAl51tEAJSnsUr+6D/qO9cRxr6r7suOr4}
-
- 2. Then, save this password in $HOME/.m2/settings-security.xml:
-
- <settingsSecurity>
- <master>{Ugr6u/ykq9yAl51tEAJSnsUr+6D/qO9cRxr6r7suOr4}</master>
- </settingsSecurity>
-
- 3. Now, it's necessary to encrypt your SSH key's passphrase with
- your master password (where '12345678' is the passphrase):
-
- $ mvn --encrypt-password 12345678
- {9N6TewUd+9sEbMpmJpLC+O4Q4so0aM3ewriU+n7iA+c=}
-
- 4. Now, it's necessary to add a definition to $HOME/.m2/settings.xml
- so that, given a unique server ID, Maven can find:
-
- * Your SSH private key
- * The passphrase required to decrypt it
- * The username to use on the server
-
- For convenience, we'll call the server "jogamp-test-scp" here,
- but it's obviously possible to use whatever name is desired:
-
- <servers>
- <server>
- <id>jogamp-test-scp</id>
- <username>someone</username>
- <privateKey>/home/someone/.ssh/id_rsa</privateKey>
- <passphrase>{9N6TewUd+9sEbMpmJpLC+O4Q4so0aM3ewriU+n7iA+c=}</passphrase>
- </server>
- </servers>
-
- 5. Now, when running make-deploy.sh, the server ID we added to
- $HOME/.m2/settings.xml must be used as the REPOSITORY_ID (and
- the REPOSITORY_URL must be adjusted slightly to use the scp://
- protocol as opposed to the old scpexe:// protocol):
-
- $ export REPOSITORY_ID=jogamp-test-scp
- $ export REPOSITORY_URL="scp://jogamp.org/srv/www/jogamp.org/deployment/maven/"
- $ ./make-deploy.sh ...
-
-------------------------------------------------------------------------
Projects
------------------------------------------------------------------------
diff --git a/maven/gluegen.pom.sh b/maven/gluegen.pom.sh
new file mode 100755
index 0000000..5af0de9
--- /dev/null
+++ b/maven/gluegen.pom.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+if [ $# -ne 1 ]
+then
+ echo "usage: version" 1>&2
+ exit 1
+fi
+
+VERSION="$1"
+shift
+
+cat <<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <!-- -->
+ <!-- Auto generated by gluegen.pom.sh, do not edit directly! -->
+ <!-- -->
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jogamp.gluegen</groupId>
+ <artifactId>gluegen</artifactId>
+ <version>${VERSION}</version>
+ <packaging>jar</packaging>
+ <name>GlueGen Runtime</name>
+ <description>JNI binding generator (Non-runtime components and atomic jar files)</description>
+ <url>http://jogamp.org/gluegen/www/</url>
+
+EOF
+
+cat gluegen.pom.in || exit 1
+cat <<EOF
+</project>
+EOF
diff --git a/maven/jogl.pom.sh b/maven/jogl.pom.sh
new file mode 100755
index 0000000..29a09d4
--- /dev/null
+++ b/maven/jogl.pom.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+if [ $# -ne 1 ]
+then
+ echo "usage: version" 1>&2
+ exit 1
+fi
+
+VERSION="$1"
+shift
+
+cat <<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <!-- -->
+ <!-- Auto generated by jogl.pom.sh, do not edit directly! -->
+ <!-- -->
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jogamp.jogl</groupId>
+ <artifactId>jogl</artifactId>
+ <version>${VERSION}</version>
+ <packaging>jar</packaging>
+ <name>JOGL</name>
+ <description>Java™ Binding for the OpenGL® API (Atomic Jar files)</description>
+ <url>http://jogamp.org/jogl/www/</url>
+
+EOF
+
+cat jogl.pom.in || exit 1
+cat <<EOF
+</project>
+EOF
diff --git a/maven/make-copy-jars.sh b/maven/make-copy-jars.sh
index 482883f..3b52b65 100755
--- a/maven/make-copy-jars.sh
+++ b/maven/make-copy-jars.sh
@@ -58,6 +58,10 @@ do
SRC_ZIP=`echo "${PROJECT_LINE}" | awk -F: '{print $4}'` || exit 1
SRC_ZIP=`echo "${SRC_ZIP}" | tr -d ' '` || exit 1
+ # Determine whether or not the project has atomic jars
+ ATOMICS=`echo "${PROJECT_LINE}" | awk -F: '{print $5}'` || exit 1
+ ATOMICS=`echo "${ATOMICS}" | tr -d ' '` || exit 1
+
# Copy all native jars, if necessary
if [ "${NATIVES}" = "natives" ]
then
@@ -89,12 +93,27 @@ do
fi
TARGET="output/${NAME}/${VERSION}/${NAME}-${VERSION}-sources.jar"
copy "${SOURCE}" "${TARGET}"
-
+
# Copy dummy jars to 'javadoc' jars, as we
# don't publish real versions of these yet.
SOURCE="empty.jar"
TARGET="output/${NAME}/${VERSION}/${NAME}-${VERSION}-javadoc.jar"
copy "${SOURCE}" "${TARGET}"
+ # Copy atomic jars, if necessary.
+ if [ "${ATOMICS}" = "atomics" ]
+ then
+ for JAR in ${INPUT}/jar/atomic/${NAME}-*.jar
+ do
+ JAR_NAME=`basename "${JAR}"` || exit 1
+ JAR_NAME=`echo ${JAR_NAME} | sed "s/^${NAME}-//g"` || exit 1
+ JAR_NAME="${NAME}-${VERSION}-${JAR_NAME}"
+
+ SOURCE="${JAR}"
+ TARGET="output/${NAME}/${VERSION}/${JAR_NAME}"
+ copy "${SOURCE}" "${TARGET}"
+ done
+ fi
+
done
diff --git a/maven/make-projects.txt b/maven/make-projects.txt
index 20eaa1e..62c269d 100644
--- a/maven/make-projects.txt
+++ b/maven/make-projects.txt
@@ -1,19 +1,23 @@
#
# Lines prefixed with '#' are considered comments and ignored.
#
-# project-name : has-natives? : use-dummy-jar? : source-jar-name?
+# project-name : has-natives? : use-dummy-jar? : source-jar-name? : atomics?
#
-gluegen-rt : natives : no-dummy-jar : gluegen-java-src.zip
-gluegen-rt-main : no-natives : dummy-jar : dummy-src
-gluegen-rt-android : no-natives : no-dummy-jar : gluegen-java-src.zip
-joal : natives : no-dummy-jar : joal-java-src.zip
-joal-main : no-natives : dummy-jar : dummy-src
-jocl : natives : no-dummy-jar : jocl-java-src.zip
-jocl-main : no-natives : dummy-jar : dummy-src
-jogl-all : natives : no-dummy-jar : jogl-java-src.zip
-jogl-all-main : no-natives : dummy-jar : dummy-src
-jogl-all-mobile : no-natives : no-dummy-jar : jogl-java-src.zip
-jogl-all-mobile-main : no-natives : dummy-jar : dummy-src
-jogl-all-noawt : no-natives : no-dummy-jar : jogl-java-src.zip
-jogl-all-noawt-main : no-natives : dummy-jar : dummy-src
-jogl-all-android : no-natives : no-dummy-jar : jogl-java-src.zip
+gluegen : no-natives : no-dummy-jar : gluegen-java-src.zip : atomics
+gluegen-rt : natives : no-dummy-jar : gluegen-java-src.zip : no-atomics
+gluegen-rt-android : no-natives : no-dummy-jar : gluegen-java-src.zip : no-atomics
+gluegen-rt-main : no-natives : dummy-jar : dummy-src : no-atomics
+joal : natives : no-dummy-jar : joal-java-src.zip : no-atomics
+joal-main : no-natives : dummy-jar : dummy-src : no-atomics
+jocl : natives : no-dummy-jar : jocl-java-src.zip : no-atomics
+jocl-main : no-natives : dummy-jar : dummy-src : no-atomics
+jogl : no-natives : dummy-jar : jogl-java-src.zip : atomics
+jogl-all : natives : no-dummy-jar : jogl-java-src.zip : no-atomics
+jogl-all-android : no-natives : no-dummy-jar : jogl-java-src.zip : no-atomics
+jogl-all-main : no-natives : dummy-jar : dummy-src : no-atomics
+jogl-all-mobile : no-natives : no-dummy-jar : jogl-java-src.zip : no-atomics
+jogl-all-mobile-main : no-natives : dummy-jar : dummy-src : no-atomics
+jogl-all-noawt : no-natives : no-dummy-jar : jogl-java-src.zip : no-atomics
+jogl-all-noawt-main : no-natives : dummy-jar : dummy-src : no-atomics
+nativewindow : no-natives : dummy-jar : dummy-src : atomics
+newt : no-natives : dummy-jar : dummy-src : atomics
diff --git a/maven/nativewindow.pom.in b/maven/nativewindow.pom.in
new file mode 100644
index 0000000..d9d6639
--- /dev/null
+++ b/maven/nativewindow.pom.in
@@ -0,0 +1,75 @@
+ <!-- nativewindow.pom.in -->
+
+ <licenses>
+ <license>
+ <name>BSD-2 License</name>
+ <url>http://www.opensource.org/licenses/BSD-2-Clause</url>
+ </license>
+ <license>
+ <name>BSD-3 License</name>
+ <url>http://www.opensource.org/licenses/BSD-3-Clause</url>
+ </license>
+ <license>
+ <name>SGI Free Software License B</name>
+ <url>http://oss.sgi.com/projects/FreeB</url>
+ </license>
+ <license>
+ <name>Apache License Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+ </license>
+ <license>
+ <name>Apache License Version 1.1</name>
+ <url>http://www.apache.org/licenses/LICENSE-1.1</url>
+ </license>
+ <license>
+ <name>Ubuntu Font Licence 1.0</name>
+ <url>http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt</url>
+ </license>
+ </licenses>
+
+ <scm>
+ <url>http://jogamp.org/git/?p=jogl.git/</url>
+ <connection>scm:git:http://jogamp.org/git/jogl.git/</connection>
+ <developerConnection>scm:git:http://jogamp.org/git/jogl.git/</developerConnection>
+ </scm>
+
+ <developers>
+ <developer>
+ <id>sgothel</id>
+ <name>Sven Gothel</name>
+ <email>[email protected]</email>
+ <url>http://blog.jausoft.com</url>
+ </developer>
+ </developers>
+
+ <issueManagement>
+ <url>http://jogamp.org/bugzilla/</url>
+ <system>Bugzilla</system>
+ </issueManagement>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.4</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>2.4</version>
+ </extension>
+ </extensions>
+ </build>
+
diff --git a/maven/nativewindow.pom.sh b/maven/nativewindow.pom.sh
new file mode 100755
index 0000000..d595a85
--- /dev/null
+++ b/maven/nativewindow.pom.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+if [ $# -ne 1 ]
+then
+ echo "usage: version" 1>&2
+ exit 1
+fi
+
+VERSION="$1"
+shift
+
+cat <<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <!-- -->
+ <!-- Auto generated by nativewindow.pom.sh, do not edit directly! -->
+ <!-- -->
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jogamp.jogl</groupId>
+ <artifactId>nativewindow</artifactId>
+ <version>${VERSION}</version>
+ <packaging>jar</packaging>
+ <name>JOGL</name>
+ <description>Java™ Binding for the OpenGL® API (Native window atomic jar files)</description>
+ <url>http://jogamp.org/jogl/www/</url>
+
+EOF
+
+cat nativewindow.pom.in || exit 1
+cat <<EOF
+</project>
+EOF
diff --git a/maven/newt.pom.in b/maven/newt.pom.in
new file mode 100644
index 0000000..fb230c9
--- /dev/null
+++ b/maven/newt.pom.in
@@ -0,0 +1,75 @@
+ <!-- newt.pom.in -->
+
+ <licenses>
+ <license>
+ <name>BSD-2 License</name>
+ <url>http://www.opensource.org/licenses/BSD-2-Clause</url>
+ </license>
+ <license>
+ <name>BSD-3 License</name>
+ <url>http://www.opensource.org/licenses/BSD-3-Clause</url>
+ </license>
+ <license>
+ <name>SGI Free Software License B</name>
+ <url>http://oss.sgi.com/projects/FreeB</url>
+ </license>
+ <license>
+ <name>Apache License Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+ </license>
+ <license>
+ <name>Apache License Version 1.1</name>
+ <url>http://www.apache.org/licenses/LICENSE-1.1</url>
+ </license>
+ <license>
+ <name>Ubuntu Font Licence 1.0</name>
+ <url>http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt</url>
+ </license>
+ </licenses>
+
+ <scm>
+ <url>http://jogamp.org/git/?p=jogl.git/</url>
+ <connection>scm:git:http://jogamp.org/git/jogl.git/</connection>
+ <developerConnection>scm:git:http://jogamp.org/git/jogl.git/</developerConnection>
+ </scm>
+
+ <developers>
+ <developer>
+ <id>sgothel</id>
+ <name>Sven Gothel</name>
+ <email>[email protected]</email>
+ <url>http://blog.jausoft.com</url>
+ </developer>
+ </developers>
+
+ <issueManagement>
+ <url>http://jogamp.org/bugzilla/</url>
+ <system>Bugzilla</system>
+ </issueManagement>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.4</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>2.4</version>
+ </extension>
+ </extensions>
+ </build>
+
diff --git a/maven/newt.pom.sh b/maven/newt.pom.sh
new file mode 100755
index 0000000..8b38763
--- /dev/null
+++ b/maven/newt.pom.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+if [ $# -ne 1 ]
+then
+ echo "usage: version" 1>&2
+ exit 1
+fi
+
+VERSION="$1"
+shift
+
+cat <<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <!-- -->
+ <!-- Auto generated by newt.pom.sh, do not edit directly! -->
+ <!-- -->
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jogamp.jogl</groupId>
+ <artifactId>newt</artifactId>
+ <version>${VERSION}</version>
+ <packaging>jar</packaging>
+ <name>JOGL</name>
+ <description>Java™ Binding for the OpenGL® API (NEWT atomic jar files)</description>
+ <url>http://jogamp.org/jogl/www/</url>
+
+EOF
+
+cat newt.pom.in || exit 1
+cat <<EOF
+</project>
+EOF