Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "STP/Stardust/KnowledgeBase/BuildChangeMgmt/Using Maven Overlays to Create Custom Stardust Portal"

m
m (Build the Final Project)
Line 210: Line 210:
 
== Build the Final Project ==
 
== Build the Final Project ==
  
Now to the '''mvn install''' to build the final custom Stadust Portal project.
+
Now use the '''mvn install''' command to build the final custom Stadust Portal project.
  
 +
 +
If the build was successful, you will see the Stardust Portal with custom project artefacts at '''/test-portal-project\project-portal-war\target'''.
 +
  
 
<source lang="XML">
 
<source lang="XML">
 
test
 
test
 
</source>
 
</source>

Revision as of 06:34, 15 December 2011

Using Maven Overlays to Create Custom Stardust Portal


Introduction

Parent Project

the pom looks like

<?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">
	<modelVersion>4.0.0</modelVersion>
	<groupId>sungard</groupId>
	<artifactId>test-portal-project</artifactId>
	<version>6.0.3</version>
	<name>test-portal-project</name>
	<description>holds the ipp portal facets file</description>
	<packaging>pom</packaging>
 
	<properties>
		<ipp.version>6.0.3</ipp.version>
	</properties>
 
	<modules>
		<module>project-portal-war</module>
	</modules>
 
	<repositories>
		<repository>
			<id>central-mirror-internal</id>
			<url>https://infinity.sungard.com/repository/repo
			</url>
		</repository>
		<repository>
			<id>csa-public-repo</id>
			<url>
				https://svn.csa.sungard.com/maven_jar_repository/repository/public
			</url>
		</repository>
		<repository>
			<id>Public-Maven-repository</id>
			<url>http://repo1.maven.org/maven2</url>
		</repository>
		<repository>
			<id>Apache-Camel-Releases</id>
			<url>
				https://repository.apache.org/content/repositories/releases
			</url>
		</repository>
	</repositories>
 
</project>


Custom Project War

<?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">
	<modelVersion>4.0.0</modelVersion>
	 <parent>
	    <groupId>sungard</groupId>
		<artifactId>test-portal-project</artifactId>		
		<version>6.0.3</version>
	</parent>
 
	<groupId>sungard</groupId>
	<artifactId>project-portal-war</artifactId>
	<packaging>war</packaging>
	<version>6.0.3</version>
	<name>project-portal-war</name>
	<description>holds the project facets</description>
 
	<properties>
		<ipp.version>6.0.3</ipp.version>
	</properties>
 
	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>src/main/java</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/*.properties</include>
					<include>com/mypakge/cs/**/*-context.xml</include>
				</includes>
			</resource>
		</resources>
 
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.0.2</version>
				<configuration>
					<source>1.6<//source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- This creates the WAR file for the project -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1-alpha-1</version>
				<configuration>
					<archiveClasses>true</archiveClasses>
					<overlays>
						<overlay>
							<groupId>org.eclipse.stardust.test</groupId>
							<artifactId>stardust-portal-war</artifactId>
							<type>war</type>
						</overlay>						
					</overlays>
					<webResources>
						<resource>
							<directory>
								${basedir}/src/main/webapp
							</directory>
							<includes>
								<include>*</include>
							</includes>							
							<targetPath>/</targetPath>
						</resource>
					</webResources>
 
						<dependentWarExcludes>WEB-INF/web.xml,WEB-INF/lib/jaxws-api-2.0.jar,WEB-INF/lib/jaxb-api-2.0.jar
						</dependentWarExcludes>					
 
				</configuration>				
			</plugin>
		</plugins>
	</build>
	  <dependencies>
      <dependency>
         <groupId>org.eclipse.stardust.test</groupId>
         <artifactId>stardust-portal-war</artifactId>
         <version>1.0-SNAPSHOT</version>         
         <type>war</type>
      </dependency>
	</dependencies>
	<repositories>
		<repository>
			<id>central-mirror-internal</id>
			<url>https://infinity.sungard.com/repository/repo
			</url>
		</repository>
		<repository>
			<id>csa-public-repo</id>
			<url>
				https://svn.csa.sungard.com/maven_jar_repository/repository/public
			</url>
		</repository>
		<repository>
			<id>Public-Maven-repository</id>
			<url>http://repo1.maven.org/maven2</url>
		</repository>
		<repository>
			<id>Apache-Camel-Releases</id>
			<url>
				https://repository.apache.org/content/repositories/releases
			</url>
		</repository>
	</repositories>	
</project>

Running Archetype Command to Add Stardust Portal as Module

mvn archetype:generate 
-DarchetypeGroupId=com.infinity.bpm.archetypes -DarchetypeArtifactId=ipp-archetype-tc6-ipp-portal-war
-DarchetypeVersion=6.0.3 -DgroupId=org.eclipse.stardust.test -DartifactId=stardust-portal-war -Dversion=1.0-SNAPSHOT
-Dgoals=dependency:unpack

After you run this command it will download and add the stardust-portal-war as module to your parent project. You will one more entry in modules section.

    <modules>
		<module>project-portal-war</module>
		<module>stardust-portal-war</module>
    </modules>

Note that you will have to change the order of these modules. We want the stardust-portal-war to be built befoer our custom project war builds. So change it as follows;

    <modules>
	<module>stardust-portal-war</module>
        <module>project-portal-war</module>
    </modules>


Build the Final Project

Now use the mvn install command to build the final custom Stadust Portal project.


If the build was successful, you will see the Stardust Portal with custom project artefacts at /test-portal-project\project-portal-war\target.


test

Back to the top