RA-482 First commit of new codebase to build full (Platform + Share) distribution of Alfresco

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108563 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Samuel Langlois
2015-07-20 10:48:58 +00:00
commit 95364738c9
4 changed files with 503 additions and 0 deletions

100
distribution/pom.xml Normal file
View File

@@ -0,0 +1,100 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-full-installation</artifactId>
<version>2015-1-EA-SNAPSHOT</version>
</parent>
<artifactId>alfresco-distribution</artifactId>
<packaging>jar</packaging>
<name>Alfresco Full Distribution (Community Edition)</name>
<!-- To replace in share-config-custom.xml -->
<properties>
<BITROCK_TOMCAT_PORT>8080</BITROCK_TOMCAT_PORT>
</properties>
<dependencies>
<!-- Platform Distribution -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-platform-distribution</artifactId>
<version>${alfresco.platform.version}</version>
<type>zip</type>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Share Distribution -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-distribution</artifactId>
<version>${alfresco.share.version}</version>
<type>zip</type>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<finalName>alfresco-community-${project.version}</finalName>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>extract-keystore</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-platform-distribution</artifactId>
<version>${alfresco.platform.version}</version>
<type>zip</type>
</artifactItem>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-distribution</artifactId>
<version>${alfresco.share.version}</version>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/assembly/full-distribution.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,40 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>distribution</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<!-- Local resources: README, etc. -->
<fileSet>
<directory>target/classes</directory>
<outputDirectory></outputDirectory>
</fileSet>
<!-- Platform Distribution -->
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-platform-community-${alfresco.platform.version}</directory>
<outputDirectory/>
</fileSet>
<!-- Share services WAR -->
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.platform.version}</directory>
<includes>
<include>share.war</include>
</includes>
<outputDirectory>web-server/webapps</outputDirectory>
</fileSet>
<!-- Share services AMP -->
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.platform.version}</directory>
<includes>
<include>*.amp</include>
</includes>
<outputDirectory>amps_share</outputDirectory>
</fileSet>
</fileSets>
</assembly>

327
installer/pom.xml Normal file
View File

@@ -0,0 +1,327 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-full-installation</artifactId>
<version>2015-1-EA-SNAPSHOT</version>
</parent>
<artifactId>alfresco-full-installer</artifactId>
<packaging>pom</packaging>
<name>Alfresco Enterprise Installers</name>
<properties>
<installer.version>2015-1-EA</installer.version>
<binaries.folder>${user.home}/binaries</binaries.folder>
<bitrock.folder>${binaries.folder}/bitrock/bitrock-9.5.1</bitrock.folder>
<signing.key.location>${binaries.folder}/build-classpath/alfresco-code-sign</signing.key.location>
<bitrock.arguments>
--license
${binaries.folder}/build-classpath/license.xml
--setvars
project.outputDirectory=${project.build.directory}
project.version=${installer.version}
project.fullName='Alfresco One ${installer.version}'
alfresco_edition=enterprise
distribution_folder=${project.build.directory}/distribution/alfresco-enterprise-${project.version}
wcmqs_folder=${project.build.directory}/wcmqs
alfresco_amps_source_directory=${project.build.directory}/dependency
alfrescosharepoint_component_enabled=0
</bitrock.arguments>
</properties>
<dependencies>
<!-- Import the dependencies from the Community installer -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-installer</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>get-distribution</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-installer</artifactId>
<version>${project.version}</version>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-enterprise-distribution</artifactId>
<version>${project.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/distribution</outputDirectory>
</artifactItem>
<!-- WCMQS Distribution -->
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-wcmqs-distribution</artifactId>
<version>${project.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/wcmqs</outputDirectory>
</artifactItem>
<!-- WCMQS War Config file -->
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-wcmqs-web</artifactId>
<version>${project.version}</version>
<classifier>classes</classifier>
<outputDirectory>${project.build.directory}/wcmqs</outputDirectory>
<includes>alfresco/web-extension/**</includes>
</artifactItem>
<!-- WCMQS Client Config file -->
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-wcmqs-client-api</artifactId>
<version>${project.version}</version>
<outputDirectory>${project.build.directory}/wcmqs</outputDirectory>
<includes>alfresco/extension/**</includes>
</artifactItem>
<!-- Solr1 Distribution -->
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-solr1-distribution</artifactId>
<version>${project.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/distribution/alfresco-enterprise-${project.version}/alf_data/solr</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>get-amps</id>
<phase>prepare-package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledocs-repo</artifactId>
<version>${alfresco.googledocs.version}</version>
<classifier>enterprise</classifier>
<type>amp</type>
<destFileName>alfresco-googledocs-repo-${alfresco.googledocs.version}.amp</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledocs-share</artifactId>
<version>${alfresco.googledocs.version}</version>
<classifier>enterprise</classifier>
<destFileName>alfresco-googledocs-share-${alfresco.googledocs.version}.amp</destFileName>
<type>amp</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<!-- Override local resources - alfresco-global.properties, etc. -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>override-local-resources</id>
<phase>prepare-package</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<overwrite>true</overwrite>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>properties</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</execution>
</executions>
</plugin>
<!-- Extract all the binaries: Tomcat, PostgreSQL, Java, LibreOffice -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>extract-binaries-tgz</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<ant antfile="${project.build.directory}/extract-binaries.xml" />
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>${bitrock.executable}</executable>
<workingDirectory>${project.build.directory}/bitrock</workingDirectory>
</configuration>
<executions>
<!-- Windows 32 -->
<execution>
<id>win32-installer</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${skipWinInstaller}</skip>
<commandlineArgs>
build project.xml
windows
${bitrock.arguments}
binaries_folder=${binaries.folder}/bitrock/binaries-windows
local_binaries_folder=${project.build.directory}/binaries-windows
project.installerFilename=alfresco-enterprise-${project.version}-installer-win-x32.exe
</commandlineArgs>
</configuration>
</execution>
<!-- Windows 64 -->
<execution>
<id>win64-installer</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${skipWinInstaller}</skip>
<commandlineArgs>
build project.xml
windows
${bitrock.arguments}
binaries_folder=${binaries.folder}/bitrock/binaries-windows-x64
local_binaries_folder=${project.build.directory}/binaries-windows-x64
project.installerFilename=alfresco-enterprise-${project.version}-installer-win-x64.exe
</commandlineArgs>
</configuration>
</execution>
<!-- Linux 64 -->
<execution>
<id>linux-installer</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${skipLinInstaller}</skip>
<commandlineArgs>
build project.xml
linux-x64
${bitrock.arguments}
binaries_folder=${binaries.folder}/bitrock/binaries-linux-x64
local_binaries_folder=${project.build.directory}/binaries-linux-x64
project.installerFilename=alfresco-enterprise-${project.version}-installer-linux-x64.bin
</commandlineArgs>
</configuration>
</execution>
<!-- OS X -->
<execution>
<id>osx-installer</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${skipOSXInstaller}</skip>
<commandlineArgs>
build project.xml
osx
${bitrock.arguments}
binaries_folder=${binaries.folder}/bitrock/binaries-osx-x64
local_binaries_folder=${project.build.directory}/binaries-osx-x64
project.installerFilename=alfresco-enterprise-${project.version}-installer-osx-x64.app
</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Profiles to set the right path to Bitrock Builder executable -->
<profile>
<id>win-bitrock</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<bitrock.executable>${bitrock.folder}/win/bin/builder-cli.exe</bitrock.executable>
</properties>
</profile>
<profile>
<id>linux-bitrock</id>
<activation>
<os>
<family>linux</family>
</os>
</activation>
<properties>
<bitrock.executable>${bitrock.folder}/linux/bin/builder</bitrock.executable>
</properties>
</profile>
<!-- Signing Windows installers -->
<profile>
<id>sign</id>
<activation>
<file>
<exists>${user.home}/binaries/build-classpath/alfresco-code-sign.der</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>sign-windows-installers</id>
<phase>verify</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<skip>${skipWinInstaller}</skip>
<target>
<ant antfile="${project.build.directory}/sign.xml">
<property name="installer.name" value="alfresco-enterprise" />
</ant>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

36
pom.xml Normal file
View File

@@ -0,0 +1,36 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-super-pom</artifactId>
<version>6</version>
</parent>
<artifactId>alfresco-full-installation</artifactId>
<version>2015-1-EA-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Alfresco Full Installation</name>
<properties>
<alfresco.platform.version>5.1-AIR1-SNAPSHOT</alfresco.platform.version>
<alfresco.share.version>5.1-AIR1-SNAPSHOT</alfresco.share.version>
</properties>
<modules>
<module>distribution</module>
<module>installer</module>
</modules>
<profiles>
<profile>
<id>enterprise</id>
<modules>
<module>ear</module>
<module>enterprise-distribution</module>
<module>enterprise-installer</module>
</modules>
</profile>
</profiles>
</project>