You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Example PSP build from build server

Replace X Y Z's with the build number

[mchyzer@i2mibuild mchyzer]$ cd /tmp
[mchyzer@i2mibuild tmp]$ mkdir mchyzer_build
[mchyzer@i2mibuild tmp]$ export MAVEN_OPTS=-Xmx1024m
[mchyzer@i2mibuild mchyzer_build]$ cd mchyzer_build/
[mchyzer@i2mibuild mchyzer_build]$ svn co https://svn.internet2.edu/svn/i2mi/tags/GROUPER_X_Y_Z/grouper-parent https://svn.internet2.edu/svn/i2mi/tags/GROUPER_X_Y_Z/subject https://svn.internet2.edu/svn/i2mi/tags/GROUPER_X_Y_Z/grouper-misc/morphString https://svn.internet2.edu/svn/i2mi/tags/GROUPER_X_Y_Z/grouper-misc/grouperClient https://svn.internet2.edu/svn/i2mi/tags/GROUPER_X_Y_Z/grouper https://svn.internet2.edu/svn/i2mi/tags/GROUPER_X_Y_Z/ldappcng/grouper-shib
[mchyzer@i2mibuild mchyzer_build]$ svn co https://svn.internet2.edu/svn/i2mi/java-provisioning-provider/tags/X.Y.Z psp_build
[mchyzer@i2mibuild mchyzer_build]$ cp grouper/.classpath.mvn grouper/.classpath
[mchyzer@i2mibuild mchyzer_build]$ cp grouperClient/.classpath.mvn grouperClient/.classpath
[mchyzer@i2mibuild mchyzer_build]$ cd grouper 
[mchyzer@i2mibuild mchyzer_build]$ ant clean
[mchyzer@i2mibuild mchyzer_build]$ ant
[mchyzer@i2mibuild mchyzer_build]$ cd grouper-parent
[mchyzer@i2mibuild grouper-parent]$ /home/mchyzer/software/apache-maven-3.0.3/bin/mvn clean deploy -DskipTests -Prelease
[mchyzer@i2mibuild grouper-parent]$ cd ../psp_build/psp-parent/
[mchyzer@i2mibuild psp-parent]$ /home/mchyzer/software/apache-maven-3.0.3/bin/mvn clean deploy -DskipTests -Prelease
[mchyzer@i2mibuild psp-parent]$ cd ../psp-distribution-for-grouper/target
[mchyzer@i2mibuild target]$ sftp webprod0
Eclipse Development

The Shibboleth development wiki has guidelines for configuring Eclipse here.

These instructions are for Grouper version 2.1.0 or later.

Grouper

To build Grouper using Maven and Eclipse :

Check out Grouper projects inside your Eclipse workspace directory. (Only some Grouper projects have been mavenized.)

Trunk :

svn co https://svn.internet2.edu/svn/i2mi/trunk/grouper-parent \
 https://svn.internet2.edu/svn/i2mi/trunk/subject \
 https://svn.internet2.edu/svn/i2mi/trunk/grouper-misc/morphString \
 https://svn.internet2.edu/svn/i2mi/trunk/grouper-misc/grouperClient \
 https://svn.internet2.edu/svn/i2mi/trunk/grouper \
 https://svn.internet2.edu/svn/i2mi/trunk/ldappcng/grouper-shib

A tag :

svn co https://svn.internet2.edu/svn/i2mi/tags/GROUPER_2_1_0/grouper-parent \
 https://svn.internet2.edu/svn/i2mi/tags/GROUPER_2_1_0/subject \
 https://svn.internet2.edu/svn/i2mi/tags/GROUPER_2_1_0/grouper-misc/morphString \
 https://svn.internet2.edu/svn/i2mi/tags/GROUPER_2_1_0/grouper-misc/grouperClient \
 https://svn.internet2.edu/svn/i2mi/tags/GROUPER_2_1_0/grouper \
 https://svn.internet2.edu/svn/i2mi/tags/GROUPER_2_1_0/ldappcng/grouper-shib

In the grouper and grouper-client projects, copy .classpath.mvn to .classpath.

cp grouper/.classpath.mvn grouper/.classpath
cp grouperClient/.classpath.mvn grouperClient/.classpath

Create default configuration files by running ant clean in the grouper project.

cd grouper
ant clean

In the grouper and grouperClient projects, make sure that Eclipse targets Java 1.6 in .settings/org.eclipse.jdt.core.prefs :

org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.source=1.6

In the Eclipse Package Explorer right-click to select Import -> Maven -> Existing Maven Projects and select grouper-parent for the root directory.

Provisioning Service Provider (PSP)

Check out the psp projects inside your Eclipse workspace directory.

svn co https://svn.internet2.edu/svn/i2mi/java-provisioning-provider/trunk/ java-provisioning-provider

In the Eclipse Package Explorer right-click to select Import -> Maven -> Existing Maven Projects and select psp-parent for the root directory.

Maven Central Deployment

To deploy to sonatype repository for release :

>export MAVEN_OPTS=-Xmx1024m

>cd grouper-parent
>mvn3 clean deploy -DskipTests -Prelease -Dgpg.passphrase=...

>export MAVEN_OPTS=-Xmx1024m>cd psp-parent
>mvn3 clean deploy -DskipTests -Prelease -Dgpg.passphrase=...

Snapshots URL : https://oss.sonatype.org/content/repositories/snapshots/edu/internet2/middleware

Maven itself will upload everything. Once it's uploaded, login to sonatype and follow the instructions here:

https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository

Dependency Management

Dependencies (i.e. third-party jars) should be defined in grouper-parent/pom.xml.

If a dependency is used in every child project, then the dependency should be defined under <dependencies>.

If a dependency is not used in every child project, then the dependency should be defined under <dependencyManagement>.

In child projects, omit the version number, since versions are controlled by the parent project.

Setting the Grouper version in the PSP

The Grouper version that the PSP is built against is customizable. Update the grouper.version property in psp-parent/pom.xml.

  • No labels