From 093f159d1df0b3270bfd1078fe01840662839679 Mon Sep 17 00:00:00 2001 From: Will Abson Date: Wed, 25 Jun 2014 16:38:00 +0000 Subject: [PATCH 001/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (4.3/Cloud) 74400: BDE-191 Build Enterprise installers with Maven git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@74908 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 pom.xml diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000000..2024d68e05 --- /dev/null +++ b/pom.xml @@ -0,0 +1,268 @@ + + 4.0.0 + + org.alfresco + alfresco-enterprise-packaging + 5.0-BF-SNAPSHOT + ../pom.xml + + alfresco-enterprise-installer + pom + Alfresco Enterprise Installers + + + ${user.home}/binaries + ${binaries.folder}/bitrock/bitrock-8.5.1-20121129 + ${binaries.folder}/build-classpath/alfresco-code-sign + + --license + ${binaries.folder}/build-classpath/license.xml + --verbose + --setvars + project.outputDirectory=${project.build.directory} + project.version=${project.version} + project.fullName='Alfresco One' + alfresco_svn_rootdir=${highest.basedir} + alfresco_edition=enterprise + distribution_folder=${project.build.directory}/distribution/alfresco-enterprise-${project.version} + solr_folder=${project.build.directory}/solr + alfresco_googledocs_source_file=${project.build.directory}/dependency/alfresco-googledocs-repo-${alfresco.googledocs.version}.amp + alfresco_googledocs_share_source_file=${project.build.directory}/dependency/alfresco-googledocs-share-${alfresco.googledocs.version}.amp + + + + + + + maven-dependency-plugin + + + get-distribution + prepare-package + + unpack + + + + + org.alfresco + alfresco-installer + ${project.version} + ${project.build.directory} + + + org.alfresco + alfresco-enterprise-distribution + ${project.version} + zip + ${project.build.directory}/distribution + + + org.alfresco + alfresco-solr + ${project.version} + config + zip + ${project.build.directory}/solr + + + + + + get-solr + prepare-package + + copy + + + + + org.alfresco + alfresco-solr + ${project.version} + war + ${project.build.directory}/solr + apache-solr-1.4.1.war + + + + + + get-amps + prepare-package + + copy + + + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + enterprise + amp + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + enterprise + amp + + + ${project.groupId} + alfresco-spp + ${project.version} + amp + + + + + + + + + org.codehaus.mojo + exec-maven-plugin + + ${bitrock.executable} + ${project.build.directory}/bitrock + + + + + win32-installer + package + + exec + + + + build project.xml + windows + ${bitrock.arguments} + binaries_folder=${binaries.folder}/bitrock/binaries-windows + project.installerFilename=alfresco-enterprise-${project.version}-installer-win-x32.exe + + + + + + + win64-installer + package + + exec + + + + build project.xml + windows + ${bitrock.arguments} + binaries_folder=${binaries.folder}/bitrock/binaries-windows-x64 + project.installerFilename=alfresco-enterprise-${project.version}-installer-win-x64.exe + + + + + + + linux-installer + package + + exec + + + + build project.xml + linux-x64 + ${bitrock.arguments} + binaries_folder=${binaries.folder}/bitrock/binaries-linux-x64 + project.installerFilename=alfresco-enterprise-${project.version}-installer-linux-x64.bin + + + + + + + osx-installer + package + + exec + + + + build project.xml + osx + ${bitrock.arguments} + binaries_folder=${binaries.folder}/bitrock/binaries-osx-x64 + project.installerFilename=alfresco-enterprise-${project.version}-installer-osx-x64.app + + + + + + + + + + + + win-bitrock + + + windows + + + + ${bitrock.folder}/win/bin/builder-cli.exe + + + + linux-bitrock + + + linux + + + + ${bitrock.folder}/linux/bin/builder + + + + + + sign + + + ${user.home}/binaries/build-classpath/alfresco-code-sign.der + + + + + + maven-antrun-plugin + + + sign-windows-installers + package + + run + + + + + + + + + + + + + + + + + From 61226f7119876d54bb6d98ea670f302731ced07e Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 25 Jun 2014 17:03:14 +0000 Subject: [PATCH 002/670] Upgrade version to 5.0.a-SNAPSHOT in POM files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@74925 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2024d68e05..3b8bfe4964 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0-BF-SNAPSHOT + 5.0.a-SNAPSHOT ../pom.xml alfresco-enterprise-installer From 3e452e73cf21e24ca44a28fac373765d4934cd7a Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 26 Jun 2014 09:28:29 +0000 Subject: [PATCH 003/670] Fix missing amps in installers: googledocs in enterprise, spp in enterprise and community git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@74937 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3b8bfe4964..24272d4d93 100644 --- a/pom.xml +++ b/pom.xml @@ -27,8 +27,7 @@ alfresco_edition=enterprise distribution_folder=${project.build.directory}/distribution/alfresco-enterprise-${project.version} solr_folder=${project.build.directory}/solr - alfresco_googledocs_source_file=${project.build.directory}/dependency/alfresco-googledocs-repo-${alfresco.googledocs.version}.amp - alfresco_googledocs_share_source_file=${project.build.directory}/dependency/alfresco-googledocs-share-${alfresco.googledocs.version}.amp + alfresco_amps_source_directory=${project.build.directory}/dependency @@ -102,12 +101,14 @@ ${alfresco.googledocs.version} enterprise amp + alfresco-googledocs-repo-${alfresco.googledocs.version}.amp org.alfresco.integrations alfresco-googledocs-share ${alfresco.googledocs.version} enterprise + alfresco-googledocs-share-${alfresco.googledocs.version}.amp amp @@ -115,6 +116,7 @@ alfresco-spp ${project.version} amp + alfresco-spp.amp From dde759d3762b2449f994a5e7ceef01d6d5af5bca Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 26 Jun 2014 17:47:07 +0000 Subject: [PATCH 004/670] Update remaining POM versions to 5.0.b-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@75097 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 24272d4d93..4c9c35427c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0.a-SNAPSHOT + 5.0.b-SNAPSHOT ../pom.xml alfresco-enterprise-installer From e3f286badfa766b03c68833e4af9798ac1c71dfe Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 22 Jul 2014 13:02:22 +0000 Subject: [PATCH 005/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 75561: Add packaging and enterprise-packaging profiles, to create installers or not git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@77493 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4c9c35427c..8a1513fbb9 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,6 @@ --license ${binaries.folder}/build-classpath/license.xml - --verbose --setvars project.outputDirectory=${project.build.directory} project.version=${project.version} @@ -140,6 +139,7 @@ exec + ${skipWinInstaller} build project.xml windows @@ -158,6 +158,7 @@ exec + ${skipWinInstaller} build project.xml windows @@ -176,6 +177,7 @@ exec + ${skipLinInstaller} build project.xml linux-x64 @@ -194,6 +196,7 @@ exec + ${skipOSXInstaller} build project.xml osx From 3ffb1219cbcfe859a994915bb5ae5726e126e1fc Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 22 Jul 2014 13:04:40 +0000 Subject: [PATCH 006/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 75565: Add properties to skip generation of installers git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@77495 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 8a1513fbb9..5b6682ff96 100644 --- a/pom.xml +++ b/pom.xml @@ -258,6 +258,7 @@ + ${skipWinInstaller} From 963b5c55d9c2168731f7fe1c0d5be4aa41b55621 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Wed, 23 Jul 2014 16:39:09 +0000 Subject: [PATCH 007/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 77222: Merged PLATFORM1 (5.0/Cloud) to HEAD-BUG-FIX (5.0/Cloud) 75601: ACE-1887 Grab Tomcat binaries from the Maven repository instead of the SVN binaries folder. The main goal is to allow to tweak it for the Enterprise installer, removing the webapps/ROOT/ context git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@78078 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/pom.xml b/pom.xml index 5b6682ff96..d1d3da9541 100644 --- a/pom.xml +++ b/pom.xml @@ -64,6 +64,43 @@ zip ${project.build.directory}/solr + + + org.apache.tomcat + tomcat + 7.0.53-alfresco + win32 + zip + **/ROOT/** + ${project.build.directory}/binaries-windows + + + org.apache.tomcat + tomcat + 7.0.53-alfresco + win64 + zip + **/ROOT/** + ${project.build.directory}/binaries-windows-x64 + + + org.apache.tomcat + tomcat + 7.0.53-alfresco + unix + zip + **/ROOT/** + ${project.build.directory}/binaries-linux-x64 + + + org.apache.tomcat + tomcat + 7.0.53-alfresco + unix + zip + **/ROOT/** + ${project.build.directory}/binaries-osx-x64 + @@ -145,6 +182,7 @@ 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 @@ -164,6 +202,7 @@ 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 @@ -183,6 +222,7 @@ 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 @@ -202,6 +242,7 @@ 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 From 27dcd7a9dbc5477362fc5a635a53cd21eca68f6c Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 1 Aug 2014 11:26:07 +0000 Subject: [PATCH 008/670] Merged HEAD-BUG-FIX (5.0) to HEAD (5.0/R38) 78792: ACE-2309 ACE-2321 Upgraded GoogleDocs to 2.0.8-22 in Enterprise and Cloud git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@78797 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index d1d3da9541..dd91315a7b 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,7 @@ solr_folder=${project.build.directory}/solr alfresco_amps_source_directory=${project.build.directory}/dependency + 2.0.8-22 From c5f5add88b25e735b63553c2b2214a4603fbd871 Mon Sep 17 00:00:00 2001 From: Erik Winlof Date: Wed, 3 Sep 2014 12:57:40 +0000 Subject: [PATCH 009/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 78836: BDE-268 Provide alfresco-spp.amp in Distribution zip, so that we get rid of the spp specific zip artifact git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@82642 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pom.xml b/pom.xml index dd91315a7b..baeec2c0db 100644 --- a/pom.xml +++ b/pom.xml @@ -148,13 +148,6 @@ alfresco-googledocs-share-${alfresco.googledocs.version}.amp amp - - ${project.groupId} - alfresco-spp - ${project.version} - amp - alfresco-spp.amp - From d98fb5eac5e19206f0649dcd1a2c840ef293b062 Mon Sep 17 00:00:00 2001 From: Will Abson Date: Wed, 3 Sep 2014 15:10:37 +0000 Subject: [PATCH 010/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 79005: ACE-1666: LibreOffice fails on OSX Mavericks: - added dependency to libreoffice-dist-4.2.5-alfresco-, uploaded to Alfresco Nexus repository, in the two pom.xml files, - changed path to libreoffice in the Bitrock config file git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@82678 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/pom.xml b/pom.xml index baeec2c0db..ee8d02bbaa 100644 --- a/pom.xml +++ b/pom.xml @@ -102,6 +102,43 @@ **/ROOT/** ${project.build.directory}/binaries-osx-x64 + + + org.libreoffice + libreoffice-dist + 4.2.5-alfresco + linux + tgz + **/ROOT/** + ${project.build.directory}/binaries-linux-x64 + + + org.libreoffice + libreoffice-dist + 4.2.5-alfresco + osx + tgz + **/ROOT/** + ${project.build.directory}/binaries-osx-x64 + + + org.libreoffice + libreoffice-dist + 4.2.5-alfresco + windows + tgz + **/ROOT/** + ${project.build.directory}/binaries-windows-x64 + + + org.libreoffice + libreoffice-dist + 4.2.5-alfresco + windows + tgz + **/ROOT/** + ${project.build.directory}/binaries-windows + From c61aff686dad20bd80ee5cb9b632667bb0961486 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 18 Sep 2014 16:53:47 +0000 Subject: [PATCH 011/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 83383: ACE-2117 Package both solr and solr4 in both the distribution zip and the installer, for both community and enterprise git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@84549 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/pom.xml b/pom.xml index ee8d02bbaa..4aedbfe699 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,6 @@ alfresco_svn_rootdir=${highest.basedir} alfresco_edition=enterprise distribution_folder=${project.build.directory}/distribution/alfresco-enterprise-${project.version} - solr_folder=${project.build.directory}/solr alfresco_amps_source_directory=${project.build.directory}/dependency 2.0.8-22 @@ -57,14 +56,6 @@ zip ${project.build.directory}/distribution - - org.alfresco - alfresco-solr - ${project.version} - config - zip - ${project.build.directory}/solr - org.apache.tomcat @@ -142,25 +133,6 @@ - - get-solr - prepare-package - - copy - - - - - org.alfresco - alfresco-solr - ${project.version} - war - ${project.build.directory}/solr - apache-solr-1.4.1.war - - - - get-amps prepare-package From ea79a6a0d03411af838098547d5ad434f3aa5fda Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 18 Sep 2014 17:04:12 +0000 Subject: [PATCH 012/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 83486: ACE-2455 ACE-2288 Resurrect WCMQS Create wcmqs and wcmqs-share AMPs Create WCMQS distribution zip Tune Community and Enterprise installers accordingly git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@84554 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pom.xml b/pom.xml index 4aedbfe699..4c62de24bb 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,7 @@ alfresco_svn_rootdir=${highest.basedir} 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 2.0.8-22 @@ -56,6 +57,14 @@ zip ${project.build.directory}/distribution + + + org.alfresco + alfresco-wcmqs-distribution + ${project.version} + zip + ${project.build.directory}/wcmqs + org.apache.tomcat From 5525dbc3d174ac0b50f243fe38e947b0910f8fdf Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 18 Sep 2014 17:25:53 +0000 Subject: [PATCH 013/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 84072: ACE-1960 AOS: vti amp is deprecated in enterprise Remove alfresco-spp from Enterprise packagings (zip and installers) Remove 'Sharepoint' component checkbox from Enterprise installer Stop installing and deploying alfresco-spp in Maven repo for Enterprise builds git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@84630 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 4c62de24bb..db4656d516 100644 --- a/pom.xml +++ b/pom.xml @@ -27,6 +27,7 @@ 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 2.0.8-22 @@ -109,7 +110,6 @@ 4.2.5-alfresco linux tgz - **/ROOT/** ${project.build.directory}/binaries-linux-x64 @@ -118,7 +118,6 @@ 4.2.5-alfresco osx tgz - **/ROOT/** ${project.build.directory}/binaries-osx-x64 @@ -127,7 +126,6 @@ 4.2.5-alfresco windows tgz - **/ROOT/** ${project.build.directory}/binaries-windows-x64 @@ -136,7 +134,6 @@ 4.2.5-alfresco windows tgz - **/ROOT/** ${project.build.directory}/binaries-windows From e3a4869bd04f947b78787a461fe7cd907e8f6b09 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 18 Sep 2014 17:29:57 +0000 Subject: [PATCH 014/670] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 84183: ACE-2315/BDE-193 Mavenize the distribution of File Transfer Receiver Split FTR in 2 projects: one creating the war, and one creating the distribution, including the runner jar Also, upgraded embedded Tomcat to 7.0.53 in FTR, and factorized definition of Tomcat version git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@84641 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index db4656d516..19d3d5416d 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ org.apache.tomcat tomcat - 7.0.53-alfresco + ${dependency.tomcat.version}-alfresco win32 zip **/ROOT/** @@ -79,7 +79,7 @@ org.apache.tomcat tomcat - 7.0.53-alfresco + ${dependency.tomcat.version}-alfresco win64 zip **/ROOT/** @@ -88,7 +88,7 @@ org.apache.tomcat tomcat - 7.0.53-alfresco + ${dependency.tomcat.version}-alfresco unix zip **/ROOT/** @@ -97,7 +97,7 @@ org.apache.tomcat tomcat - 7.0.53-alfresco + ${dependency.tomcat.version}-alfresco unix zip **/ROOT/** From 2bad3ee87b73cf3e3695c3b1c51274d3121c1647 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 23 Sep 2014 16:53:09 +0000 Subject: [PATCH 015/670] Tune Installer for 5.0, integrating Bitrock delivery from 18-09-2014 ACE-2820 ACE-2117 Solr4 packaged as a separate component ACE-1666 Fix creation of symlinks in binaries (LibreOffice, PostgreSQL, ...) ACE-943 PostgreSQL Upgraded to 9.3.5 Java upgraded to 1.7.0_67 + switched from JDK to JRE+redistributable components ACE-2879 Bitrock Installbuilder upgraded to 9.0.2 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@85549 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 109 +++++++++++++++----------------------------------------- 1 file changed, 29 insertions(+), 80 deletions(-) diff --git a/pom.xml b/pom.xml index 19d3d5416d..5ba13d952f 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ ${user.home}/binaries - ${binaries.folder}/bitrock/bitrock-8.5.1-20121129 + ${binaries.folder}/bitrock/bitrock-9.0.2 ${binaries.folder}/build-classpath/alfresco-code-sign --license @@ -66,76 +66,6 @@ zip ${project.build.directory}/wcmqs - - - org.apache.tomcat - tomcat - ${dependency.tomcat.version}-alfresco - win32 - zip - **/ROOT/** - ${project.build.directory}/binaries-windows - - - org.apache.tomcat - tomcat - ${dependency.tomcat.version}-alfresco - win64 - zip - **/ROOT/** - ${project.build.directory}/binaries-windows-x64 - - - org.apache.tomcat - tomcat - ${dependency.tomcat.version}-alfresco - unix - zip - **/ROOT/** - ${project.build.directory}/binaries-linux-x64 - - - org.apache.tomcat - tomcat - ${dependency.tomcat.version}-alfresco - unix - zip - **/ROOT/** - ${project.build.directory}/binaries-osx-x64 - - - - org.libreoffice - libreoffice-dist - 4.2.5-alfresco - linux - tgz - ${project.build.directory}/binaries-linux-x64 - - - org.libreoffice - libreoffice-dist - 4.2.5-alfresco - osx - tgz - ${project.build.directory}/binaries-osx-x64 - - - org.libreoffice - libreoffice-dist - 4.2.5-alfresco - windows - tgz - ${project.build.directory}/binaries-windows-x64 - - - org.libreoffice - libreoffice-dist - 4.2.5-alfresco - windows - tgz - ${project.build.directory}/binaries-windows - @@ -169,6 +99,25 @@ + + + maven-antrun-plugin + + + extract-binaries-tgz + prepare-package + + run + + + + + + + + + + org.codehaus.mojo exec-maven-plugin @@ -301,20 +250,20 @@ sign-windows-installers - package + verify run + + ${skipWinInstaller} + + + + + + - - ${skipWinInstaller} - - - - - - From 50673a4715694753f4ea6ab25520bb14ee255398 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 26 Sep 2014 17:17:50 +0000 Subject: [PATCH 016/670] ACE-2739 JodConverter not enabled in Enterprise builds: resurrect enterprise version of alfresco-global.properties git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@85818 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 20 +++++ .../shared/alfresco-global.properties | 81 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties diff --git a/pom.xml b/pom.xml index 5ba13d952f..5efc60e1d0 100644 --- a/pom.xml +++ b/pom.xml @@ -99,6 +99,26 @@ + + + maven-resources-plugin + + + override-local-resources + prepare-package + + resources + + + ${project.build.directory} + + properties + + + + + + maven-antrun-plugin diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties new file mode 100644 index 0000000000..ccf3f29861 --- /dev/null +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -0,0 +1,81 @@ + +############################### +## Common Alfresco Properties # +## Enterprise overlay # +############################### + +dir.root=@@BITROCK_DATA_DIR@@ + +alfresco.context=alfresco +alfresco.host=@@BITROCK_TOMCAT_HOST@@ +alfresco.port=@@BITROCK_TOMCAT_PORT@@ +alfresco.protocol=http + +share.context=share +share.host=@@BITROCK_TOMCAT_HOST@@ +share.port=@@BITROCK_TOMCAT_PORT@@ +share.protocol=http + +### database connection properties ### +db.driver=org.postgresql.Driver +db.username=@@BITROCK_DB_USER@@ +db.password=@@BITROCK_DB_PASSWORD@@ +#To use encrypted properties for the database uncomment the following line +# the encrypted value is added into alfresco-encrypted.properties +#db.password=${db.password.enc} +#db.username=${db.username.enc} +db.name=@@BITROCK_DB_NAME@@ +db.url=jdbc:postgresql://localhost:@@BITROCK_POSTGRESQL_PORT@@/${db.name} +# Note: your database must also be able to accept at least this many connections. Please see your database documentation for instructions on how to configure this. +db.pool.max=275 +db.pool.validate.query=@@BITROCK_DB_VALIDATE_QUERY@@ + +# The server mode. Set value here +# UNKNOWN | TEST | BACKUP | PRODUCTION +system.serverMode=UNKNOWN + +### FTP Server Configuration ### +ftp.enabled=true +ftp.port=@@BITROCK_FTP_PORT@@ + +### RMI service ports ### +alfresco.rmi.services.port=@@BITROCK_RMI_PORT@@ +avm.rmi.service.port=0 +avmsync.rmi.service.port=0 +attribute.rmi.service.port=0 +authentication.rmi.service.port=0 +repo.rmi.service.port=0 +action.rmi.service.port=0 +deployment.rmi.service.port=0 + +### External executable locations ### +ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ +ooo.enabled=false +ooo.port=@@BITROCK_LO_PORT@@ +@@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ +swf.exe=@@BITROCK_PDF2SWF_PATH@@ +swf.languagedir=@@BITROCK_PDF2SWF_LANGUAGEDIR@@ + +jodconverter.enabled=true +jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ +jodconverter.portNumbers=@@BITROCK_LO_PORT@@ + +### Initial admin password ### +alfresco_user_store.adminpassword=@@BITROCK_ALFRESCO_ADMIN_PASSWORD@@ + +### E-mail site invitation setting ### +notification.email.siteinvite=false + +### License location ### +dir.license.external=@@BITROCK_ALFRESCO_LICENSE_DIR@@ + +### Solr indexing ### +index.subsystem.name=solr4 +dir.keystore=${dir.root}/keystore +solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ + +### BPM Engine ### +system.workflow.engine.jbpm.enabled=false + +### Replication ### +replication.enabled=true From 2ac6f2581e3738dd924660eecc4d8a11e64ad0dd Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 30 Sep 2014 15:09:52 +0000 Subject: [PATCH 017/670] ACE-2880 Upgrade Bitrock Installbuilder to 9.5.0, to fix the license issue git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@86033 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5efc60e1d0..8c9580fd25 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ ${user.home}/binaries - ${binaries.folder}/bitrock/bitrock-9.0.2 + ${binaries.folder}/bitrock/bitrock-9.5.0 ${binaries.folder}/build-classpath/alfresco-code-sign --license From 7297a827b903363661b383007084cd92834a9660 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Thu, 2 Oct 2014 11:31:58 +0000 Subject: [PATCH 018/670] ACE-2900 : Error in the log: Failed to create server socket on port 50508, tried 5 times. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@86264 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/alfresco/shared/alfresco-global.properties | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index ccf3f29861..c6a2e4f747 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -38,15 +38,9 @@ system.serverMode=UNKNOWN ftp.enabled=true ftp.port=@@BITROCK_FTP_PORT@@ -### RMI service ports ### +### RMI registry port for JMX ### alfresco.rmi.services.port=@@BITROCK_RMI_PORT@@ -avm.rmi.service.port=0 -avmsync.rmi.service.port=0 -attribute.rmi.service.port=0 -authentication.rmi.service.port=0 -repo.rmi.service.port=0 -action.rmi.service.port=0 -deployment.rmi.service.port=0 +monitor.rmi.service.port=0 ### External executable locations ### ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ From 51f94a3c379d6c8a717281df2c7fbbb1fc2a1b0f Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 2 Oct 2014 12:53:32 +0000 Subject: [PATCH 019/670] ACE-2706 Remove ftp.enabled=true in the configuration file provided by the installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@86270 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index c6a2e4f747..5dd35921e3 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -35,7 +35,6 @@ db.pool.validate.query=@@BITROCK_DB_VALIDATE_QUERY@@ system.serverMode=UNKNOWN ### FTP Server Configuration ### -ftp.enabled=true ftp.port=@@BITROCK_FTP_PORT@@ ### RMI registry port for JMX ### From 47b4b9049947c412ca1c8caea43b1cb853ebead7 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 3 Oct 2014 16:45:12 +0000 Subject: [PATCH 020/670] ACE-2739 Fix overlay of Enterprise version of alfresco-global.properties, which was not happening git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@86434 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 8c9580fd25..a72299b687 100644 --- a/pom.xml +++ b/pom.xml @@ -111,6 +111,7 @@ ${project.build.directory} + true properties From b4ba05fa7fa83721940867ab027101fa63af5a54 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 3 Oct 2014 17:25:55 +0000 Subject: [PATCH 021/670] Prepare for Community release: change version to 5.0.b, deployment URL to staging repository git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@86436 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a72299b687..ebe6e00734 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0.b-SNAPSHOT + 5.0.b ../pom.xml alfresco-enterprise-installer From 238a63535275333e126e3b43af6b6f9f98c9a5ce Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 7 Oct 2014 12:36:19 +0000 Subject: [PATCH 022/670] Move POM versions to 5.0-preview now that 5.0.b is out git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@87366 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ebe6e00734..9387f4c2bc 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0.b + 5.0-preview ../pom.xml alfresco-enterprise-installer From 02e822ddf5ee1fa0a479d5c30602d6a2c5d7ca00 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 10 Oct 2014 10:01:54 +0000 Subject: [PATCH 023/670] ACE-2706 Remove 'replication.enabled=true' in Enterprise alfresco-global.properties git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@87720 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 5dd35921e3..62dfffac2c 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -69,6 +69,3 @@ solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ ### BPM Engine ### system.workflow.engine.jbpm.enabled=false - -### Replication ### -replication.enabled=true From 6db2773599790066aa56d751e2cd62979d720e70 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 14 Oct 2014 17:02:04 +0000 Subject: [PATCH 024/670] ACE-3113 Bring back Solr1 zip from packaging git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@88085 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pom.xml b/pom.xml index 9387f4c2bc..1426a3b358 100644 --- a/pom.xml +++ b/pom.xml @@ -66,6 +66,14 @@ zip ${project.build.directory}/wcmqs + + + org.alfresco + alfresco-solr1-distribution + ${project.version} + zip + ${project.build.directory}/distribution/alfresco-enterprise-${project.version}/alf_data/solr + From d43a69ece11d3e753f173dc7a088dcf39d279ca2 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 15 Oct 2014 14:45:50 +0000 Subject: [PATCH 025/670] Update POM versions back to 5.0.0-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@88158 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1426a3b358..dbebec7c3e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0-preview + 5.0.0-SNAPSHOT ../pom.xml alfresco-enterprise-installer From a520b32acb5c4394e39a5c5d232a618f24e1d8e3 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 29 Oct 2014 14:06:25 +0000 Subject: [PATCH 026/670] ACE-3292 Stop failing the installer when CPU clock speed is too low - just warns about it. - also, upgrade Bitrock from 9.5.0 to 9.5.1, to get an improved CPU clock speed detection. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@89414 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dbebec7c3e..f99651e494 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ ${user.home}/binaries - ${binaries.folder}/bitrock/bitrock-9.5.0 + ${binaries.folder}/bitrock/bitrock-9.5.1 ${binaries.folder}/build-classpath/alfresco-code-sign --license From 9e698e9b3f7ff98eafeae82c3c6ee894d2bcd264 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 29 Oct 2014 16:21:20 +0000 Subject: [PATCH 027/670] ACE-3359 Upgrade GoogleDocs to 2.0.8 in all 3 editions of the product git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@89437 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index f99651e494..4e9852e0d9 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,6 @@ alfresco_amps_source_directory=${project.build.directory}/dependency alfrescosharepoint_component_enabled=0 - 2.0.8-22 From ba4aa05dfb993dc4f6492e73bfab5168280489ca Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 5 Nov 2014 16:00:05 +0000 Subject: [PATCH 028/670] Switch version from 5.0.0-SNAPSHOT to 5.0 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@89985 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4e9852e0d9..631413f660 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0.0-SNAPSHOT + 5.0 ../pom.xml alfresco-enterprise-installer From c5ee4d0aed3b03b7bec6760c61a687dabb6a69eb Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 27 Nov 2014 20:57:15 +0000 Subject: [PATCH 029/670] Community release: change version to 5.0.c in pom.xml and 5.0.0c in version.properties git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@91299 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 631413f660..d53d95ef03 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0 + 5.0.c ../pom.xml alfresco-enterprise-installer From bc0cefd8c71f491ab0124d368a33a13d1bb7c26a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 28 Nov 2014 11:05:30 +0000 Subject: [PATCH 030/670] Cloud release: change version to 5.0-SNAPSHOT (again) in pom.xml and 5.0.0 in version.properties git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@91328 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d53d95ef03..a1f2cc4bbf 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0.c + 5.0-SNAPSHOT ../pom.xml alfresco-enterprise-installer From a52992f17ccfbbebfe1b64f460a290a16b200056 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 31 Jan 2015 09:30:19 +0000 Subject: [PATCH 031/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.0/Cloud) 85562: Change version to 5.0.1 and incremented the schema number - pom.xml files changed from 5.0-BF-SNAPSHOT to 5.0.1-SNAPSHOT - schema number increased by 8 rather than 4 (which is the normal increment for a service pack) as this is SP 1 and as a result it is more likely we will need a few more db patches in 5.0.0 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@94499 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a1f2cc4bbf..21a1ae8123 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.0-SNAPSHOT + 5.1-SNAPSHOT ../pom.xml alfresco-enterprise-installer From 44484d513923a73d7f8b2f1f01f396b29254ce97 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 27 Mar 2015 22:34:56 +0000 Subject: [PATCH 032/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 99604: RA-14 Move installer build scripts into the jar file, so the Enteprise installer can reuse them properly git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@100472 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 21a1ae8123..ec8c19536d 100644 --- a/pom.xml +++ b/pom.xml @@ -139,7 +139,7 @@ - + @@ -285,7 +285,7 @@ ${skipWinInstaller} - + From a21444f1a0aa2c970435a21a29a7dc2f9ca33fb5 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 27 Mar 2015 22:50:11 +0000 Subject: [PATCH 033/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 99610: Merged DEV to HEAD-BUG-FIX (5.1) - separating Share from Repo 99073: RA-11 Get rid of the alfresco_svn_rootdir parameter in Bitrock installers: everything is now extracted from the Maven repo 99114: RA-11 Remove reference to alfresco_svn_rootdir in Bitrock config file, to fix Linux installer 99510: RA-39 Fix how we get the JLAN DLL in the distribution: use Maven dependency rather than file system 99515: RA-39 Fix how we get the JLAN DLL in the enterprise distribution: use Maven dependency rather than file system git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@100475 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ec8c19536d..f846f9403d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,6 @@ org.alfresco alfresco-enterprise-packaging 5.1-SNAPSHOT - ../pom.xml alfresco-enterprise-installer pom @@ -22,7 +21,6 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} project.fullName='Alfresco One' - alfresco_svn_rootdir=${highest.basedir} alfresco_edition=enterprise distribution_folder=${project.build.directory}/distribution/alfresco-enterprise-${project.version} wcmqs_folder=${project.build.directory}/wcmqs @@ -65,6 +63,23 @@ zip ${project.build.directory}/wcmqs + + + org.alfresco + alfresco-wcmqs-web + ${project.version} + classes + ${project.build.directory}/wcmqs + alfresco/web-extension/** + + + + org.alfresco + alfresco-wcmqs-client-api + ${project.version} + ${project.build.directory}/wcmqs + alfresco/extension/** + org.alfresco From 202e821dccaa69ac9bd5b8b65049cc63108067f7 Mon Sep 17 00:00:00 2001 From: Tatyana Valkevych Date: Fri, 17 Apr 2015 11:03:33 +0000 Subject: [PATCH 034/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 102012: Merge 5.0.N (5.0.2) to HEAD-BUG-FIX (5.1) 102010: MNT-13877 Upgrade OpenSSL to 1.0.1m on Linux and OSX + PostgreSQL 9.3.6 linked with it git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@102082 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pom.xml b/pom.xml index f846f9403d..46038d581f 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,16 @@ + + + + org.alfresco + alfresco-installer + ${project.version} + pom + + + From 239a55d9d296b2e9a9b159ab49458f43a5301e97 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 16 Jun 2015 19:25:20 +0000 Subject: [PATCH 035/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 106230: Merge RA-SPRINT6 to HEAD-BUG-FIX (5.1) 105894: RA-271 Add new point-in-time version in installer name: 'Alfresco One 2015-1-EA' git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@106308 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 46038d581f..72dc4c8021 100644 --- a/pom.xml +++ b/pom.xml @@ -11,6 +11,7 @@ Alfresco Enterprise Installers + 2015-1-EA ${user.home}/binaries ${binaries.folder}/bitrock/bitrock-9.5.1 ${binaries.folder}/build-classpath/alfresco-code-sign @@ -19,8 +20,8 @@ ${binaries.folder}/build-classpath/license.xml --setvars project.outputDirectory=${project.build.directory} - project.version=${project.version} - project.fullName='Alfresco One' + 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 From 96dcebe7c90acb7093451be9f1babb1760e0a0fb Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 9 Jul 2015 15:59:15 +0000 Subject: [PATCH 036/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 107974: BDE-376: Upgrade Bitrock Installbuilder to 15.1.0 - Installbuilder is now on Nexus instead of BINARIES - OSX app is now signed on Linux build agents - OSX app is now bundled in a DMG instead of a tar.gz archive git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@107995 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 58 ++++++++++++++++++++------------------------------------- 1 file changed, 20 insertions(+), 38 deletions(-) diff --git a/pom.xml b/pom.xml index 72dc4c8021..e956256812 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 2015-1-EA ${user.home}/binaries - ${binaries.folder}/bitrock/bitrock-9.5.1 + ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/alfresco-code-sign --license @@ -22,12 +22,17 @@ project.outputDirectory=${project.build.directory} project.version=${installer.version} project.fullName='Alfresco One ${installer.version}' + project.osxSigningPkcs12File=${binaries.folder}/build-classpath/code-signing/Alfresco-Software-Ltd-osx.p12 + project.osxSigningPkcs12Password=${p12Password} + project.windowsSigningPkcs12File=${binaries.folder}/build-classpath/code-signing/Alfresco-Software-Ltd.p12 + project.windowsSigningPkcs12Password=${p12Password} 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 + alfresco-enterprise @@ -195,7 +200,7 @@ ${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 + project.installerFilename=${installer.name}-${project.version}-installer-win-x32.exe @@ -215,7 +220,7 @@ ${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 + project.installerFilename=${installer.name}-${project.version}-installer-win-x64.exe @@ -235,7 +240,7 @@ ${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 + project.installerFilename=${installer.name}-${project.version}-installer-linux-x64.bin @@ -255,7 +260,7 @@ ${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 + project.installerFilename=${installer.name}-${project.version}-installer-osx-x64.app @@ -274,7 +279,7 @@ - ${bitrock.folder}/win/bin/builder-cli.exe + ${bitrock.folder}/bin/builder-cli.exe @@ -285,43 +290,20 @@ - ${bitrock.folder}/linux/bin/builder + ${bitrock.folder}/bin/builder - - - sign + osx-bitrock - - ${user.home}/binaries/build-classpath/alfresco-code-sign.der - + + mac + - - - - maven-antrun-plugin - - - sign-windows-installers - verify - - run - - - ${skipWinInstaller} - - - - - - - - - - - + + ${bitrock.folder}/bin/builder + - + From 93bab4eb610fafc54a65dc08f9ac69322dab808c Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 11 Jul 2015 05:50:16 +0000 Subject: [PATCH 037/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 108120: BDE-376: Added parallel build for the installers - Fixed typo in enterprise build full name git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108144 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 120 ++++++++++---------------------------------------------- 1 file changed, 20 insertions(+), 100 deletions(-) diff --git a/pom.xml b/pom.xml index e956256812..e0d46fc1b0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,23 +14,20 @@ 2015-1-EA ${user.home}/binaries ${project.build.directory}/installbuilder - ${binaries.folder}/build-classpath/alfresco-code-sign + ${binaries.folder}/build-classpath/code-signing + ${binaries.folder}/build-classpath/license.xml" - --license - ${binaries.folder}/build-classpath/license.xml - --setvars - project.outputDirectory=${project.build.directory} - project.version=${installer.version} - project.fullName='Alfresco One ${installer.version}' - project.osxSigningPkcs12File=${binaries.folder}/build-classpath/code-signing/Alfresco-Software-Ltd-osx.p12 - project.osxSigningPkcs12Password=${p12Password} - project.windowsSigningPkcs12File=${binaries.folder}/build-classpath/code-signing/Alfresco-Software-Ltd.p12 - project.windowsSigningPkcs12Password=${p12Password} - 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 + project.outputDirectory=${project.build.directory} + project.version=${installer.version} + project.fullName='Alfresco One ${installer.version}' + project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 + project.osxSigningPkcs12Password=${p12Password} + project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 + project.windowsSigningPkcs12Password=${p12Password} + alfresco_edition=enterprise + wcmqs_folder=${project.build.directory}/wcmqs + alfresco_amps_source_directory=${project.build.directory}/ + alfrescosharepoint_component_enabled=0 alfresco-enterprise @@ -158,10 +155,10 @@ - maven-antrun-plugin + extract-binaries-tgz prepare-package @@ -174,94 +171,17 @@ - - - - - org.codehaus.mojo - exec-maven-plugin - - ${bitrock.executable} - ${project.build.directory}/bitrock - - - + - win32-installer + build-installers package - exec + run - ${skipWinInstaller} - - build project.xml - windows - ${bitrock.arguments} - binaries_folder=${binaries.folder}/bitrock/binaries-windows - local_binaries_folder=${project.build.directory}/binaries-windows - project.installerFilename=${installer.name}-${project.version}-installer-win-x32.exe - - - - - - - win64-installer - package - - exec - - - ${skipWinInstaller} - - 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=${installer.name}-${project.version}-installer-win-x64.exe - - - - - - - linux-installer - package - - exec - - - ${skipLinInstaller} - - 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=${installer.name}-${project.version}-installer-linux-x64.bin - - - - - - - osx-installer - package - - exec - - - ${skipOSXInstaller} - - 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=${installer.name}-${project.version}-installer-osx-x64.app - + + + From 98f84b657a28553f0d9bfecefd3ee8de5a903038 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 11 Jul 2015 05:50:50 +0000 Subject: [PATCH 038/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 108122: BDE-376: Fixed typo in license path property git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108145 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e0d46fc1b0..511363387f 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing - ${binaries.folder}/build-classpath/license.xml" + ${binaries.folder}/build-classpath/license.xml project.outputDirectory=${project.build.directory} project.version=${installer.version} From 77a001b10602674a3d05e0dc717cc6da12f27366 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 14 Jul 2015 07:02:30 +0000 Subject: [PATCH 039/670] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 108168: BDE-376: Fixed Enterprise Packaging build - Resolved all path issues. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108217 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 511363387f..620ca81043 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ org.alfresco alfresco-installer ${project.version} - ${project.build.directory} + ${project.build.directory}/classes org.alfresco @@ -167,7 +167,7 @@ - + @@ -179,8 +179,9 @@ run + ${project.build.directory}/classes/bitrock - + From 95364738c97ab6f50c8fe79081a7db4785ecddf8 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Mon, 20 Jul 2015 10:48:58 +0000 Subject: [PATCH 040/670] 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 --- distribution/pom.xml | 100 ++++++ .../src/assembly/full-distribution.xml | 40 +++ installer/pom.xml | 327 ++++++++++++++++++ pom.xml | 36 ++ 4 files changed, 503 insertions(+) create mode 100644 distribution/pom.xml create mode 100644 distribution/src/assembly/full-distribution.xml create mode 100644 installer/pom.xml create mode 100644 pom.xml diff --git a/distribution/pom.xml b/distribution/pom.xml new file mode 100644 index 0000000000..d33b5ee816 --- /dev/null +++ b/distribution/pom.xml @@ -0,0 +1,100 @@ + + 4.0.0 + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + alfresco-distribution + jar + Alfresco Full Distribution (Community Edition) + + + + 8080 + + + + + + org.alfresco + alfresco-platform-distribution + ${alfresco.platform.version} + zip + + + * + * + + + + + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + + + * + * + + + + + + + alfresco-community-${project.version} + + + maven-dependency-plugin + + + extract-keystore + generate-resources + + unpack + + + + + org.alfresco + alfresco-platform-distribution + ${alfresco.platform.version} + zip + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + + + + + + + + + maven-assembly-plugin + + + make-assembly + package + + single + + + + src/assembly/full-distribution.xml + + + + + + + + + diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml new file mode 100644 index 0000000000..3017ca6a9e --- /dev/null +++ b/distribution/src/assembly/full-distribution.xml @@ -0,0 +1,40 @@ + + distribution + + zip + + + + + + target/classes + + + + + + ${project.build.directory}/dependency/alfresco-platform-community-${alfresco.platform.version} + + + + + + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.platform.version} + + share.war + + web-server/webapps + + + + + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.platform.version} + + *.amp + + amps_share + + + + diff --git a/installer/pom.xml b/installer/pom.xml new file mode 100644 index 0000000000..c0c13ddef0 --- /dev/null +++ b/installer/pom.xml @@ -0,0 +1,327 @@ + + 4.0.0 + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + alfresco-full-installer + pom + Alfresco Enterprise Installers + + + 2015-1-EA + ${user.home}/binaries + ${binaries.folder}/bitrock/bitrock-9.5.1 + ${binaries.folder}/build-classpath/alfresco-code-sign + + --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 + + + + + + + org.alfresco + alfresco-installer + ${project.version} + pom + + + + + + + maven-dependency-plugin + + + get-distribution + prepare-package + + unpack + + + + + org.alfresco + alfresco-installer + ${project.version} + ${project.build.directory} + + + org.alfresco + alfresco-enterprise-distribution + ${project.version} + zip + ${project.build.directory}/distribution + + + + org.alfresco + alfresco-wcmqs-distribution + ${project.version} + zip + ${project.build.directory}/wcmqs + + + + org.alfresco + alfresco-wcmqs-web + ${project.version} + classes + ${project.build.directory}/wcmqs + alfresco/web-extension/** + + + + org.alfresco + alfresco-wcmqs-client-api + ${project.version} + ${project.build.directory}/wcmqs + alfresco/extension/** + + + + org.alfresco + alfresco-solr1-distribution + ${project.version} + zip + ${project.build.directory}/distribution/alfresco-enterprise-${project.version}/alf_data/solr + + + + + + get-amps + prepare-package + + copy + + + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + enterprise + amp + alfresco-googledocs-repo-${alfresco.googledocs.version}.amp + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + enterprise + alfresco-googledocs-share-${alfresco.googledocs.version}.amp + amp + + + + + + + + + + maven-resources-plugin + + + override-local-resources + prepare-package + + resources + + + ${project.build.directory} + true + + properties + + + + + + + + + maven-antrun-plugin + + + extract-binaries-tgz + prepare-package + + run + + + + + + + + + + + + org.codehaus.mojo + exec-maven-plugin + + ${bitrock.executable} + ${project.build.directory}/bitrock + + + + + win32-installer + package + + exec + + + ${skipWinInstaller} + + 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 + + + + + + + win64-installer + package + + exec + + + ${skipWinInstaller} + + 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 + + + + + + + linux-installer + package + + exec + + + ${skipLinInstaller} + + 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 + + + + + + + osx-installer + package + + exec + + + ${skipOSXInstaller} + + 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 + + + + + + + + + + + + win-bitrock + + + windows + + + + ${bitrock.folder}/win/bin/builder-cli.exe + + + + linux-bitrock + + + linux + + + + ${bitrock.folder}/linux/bin/builder + + + + + + sign + + + ${user.home}/binaries/build-classpath/alfresco-code-sign.der + + + + + + maven-antrun-plugin + + + sign-windows-installers + verify + + run + + + ${skipWinInstaller} + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000000..4a6db3b2cc --- /dev/null +++ b/pom.xml @@ -0,0 +1,36 @@ + + 4.0.0 + + org.alfresco + alfresco-super-pom + 6 + + alfresco-full-installation + 2015-1-EA-SNAPSHOT + pom + Alfresco Full Installation + + + 5.1-AIR1-SNAPSHOT + 5.1-AIR1-SNAPSHOT + + + + distribution + installer + + + + + enterprise + + ear + enterprise-distribution + enterprise-installer + + + + + + From 8d13fce3c60bfc66077a35537416b35954d83691 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 20 Jul 2015 12:49:06 +0000 Subject: [PATCH 041/670] =?UTF-8?q?ACE-4051=20Googledrive=20is=20not=20ins?= =?UTF-8?q?talled=20-=20Moved=20and=20fixed=20alfresco=5Famps=5Fsource=5Fd?= =?UTF-8?q?irectory=20from=20pom,xml=20to=20build-installer.xml=20(For=20s?= =?UTF-8?q?ome=20reason=20the=20variable=20wasn=E2=80=99t=20passed=20prope?= =?UTF-8?q?rly=20from=20Maven=20to=20ANT.=20Hence=20the=20issue=20with=20t?= =?UTF-8?q?he=20AMPs)=20-=20Moved=20wcmqs=5Ffolder=20for=20same=20reasons?= =?UTF-8?q?=20and=20consistency.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108584 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/pom.xml b/pom.xml index 620ca81043..0013871878 100644 --- a/pom.xml +++ b/pom.xml @@ -25,8 +25,6 @@ project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=enterprise - wcmqs_folder=${project.build.directory}/wcmqs - alfresco_amps_source_directory=${project.build.directory}/ alfrescosharepoint_component_enabled=0 alfresco-enterprise From 7913448f581b1cbf8c668e19ba4878fd1c7c8a7c Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 21 Jul 2015 11:09:00 +0000 Subject: [PATCH 042/670] Merged AIR-SPRINT1 (5.1.0) to HEAD (5.1/Cloud) 108250: RA-233/RA-432 Switch Full installer to Platform-only installer, and only on Enterprise git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108643 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 92 +++++++++++---------------------------------------------- 1 file changed, 17 insertions(+), 75 deletions(-) diff --git a/pom.xml b/pom.xml index 0013871878..453ae37a77 100644 --- a/pom.xml +++ b/pom.xml @@ -6,28 +6,30 @@ alfresco-enterprise-packaging 5.1-SNAPSHOT - alfresco-enterprise-installer + alfresco-platform-enterprise-installer pom - Alfresco Enterprise Installers + Alfresco Platform Enterprise Installers - 2015-1-EA ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml + alfresco-platform - project.outputDirectory=${project.build.directory} - project.version=${installer.version} - project.fullName='Alfresco One ${installer.version}' - project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 - project.osxSigningPkcs12Password=${p12Password} - project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 - project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=enterprise - alfrescosharepoint_component_enabled=0 + project.outputDirectory=${project.build.directory} + project.version=${project.version} + project.fullName='Alfresco One Platform ${installer.version}' + project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 + project.osxSigningPkcs12Password=${p12Password} + project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 + project.windowsSigningPkcs12Password=${p12Password} + alfresco_edition=enterprise + alfrescogoogledocs_component_enabled=0 + alfrescosharepoint_component_enabled=0 + alfrescosolr_component_enabled=0 + alfrescowcmqs_component_enabled=0 - alfresco-enterprise @@ -55,77 +57,17 @@ org.alfresco - alfresco-installer + alfresco-installer-resources ${project.version} ${project.build.directory}/classes org.alfresco - alfresco-enterprise-distribution + alfresco-platform-enterprise-distributionzip ${project.version} zip ${project.build.directory}/distribution - - - org.alfresco - alfresco-wcmqs-distribution - ${project.version} - zip - ${project.build.directory}/wcmqs - - - - org.alfresco - alfresco-wcmqs-web - ${project.version} - classes - ${project.build.directory}/wcmqs - alfresco/web-extension/** - - - - org.alfresco - alfresco-wcmqs-client-api - ${project.version} - ${project.build.directory}/wcmqs - alfresco/extension/** - - - - org.alfresco - alfresco-solr1-distribution - ${project.version} - zip - ${project.build.directory}/distribution/alfresco-enterprise-${project.version}/alf_data/solr - - - - - - get-amps - prepare-package - - copy - - - - - org.alfresco.integrations - alfresco-googledocs-repo - ${alfresco.googledocs.version} - enterprise - amp - alfresco-googledocs-repo-${alfresco.googledocs.version}.amp - - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - enterprise - alfresco-googledocs-share-${alfresco.googledocs.version}.amp - amp - From fd3869fa8847721b9bc8e2b1ed6164b9ef149978 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 21 Jul 2015 11:10:08 +0000 Subject: [PATCH 043/670] Merged AIR-SPRINT1 (5.1.0) to HEAD (5.1/Cloud) 108265: RA-233 Fix path in Enterprise Platform Distribution zip git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108644 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 453ae37a77..2253bb4ec2 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} - project.fullName='Alfresco One Platform ${installer.version}' + project.fullName='Alfresco One Platform ${project.version}' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From 4c6e03850e6c27b11ed0562419db83e9547febc5 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 21 Jul 2015 11:11:23 +0000 Subject: [PATCH 044/670] Merged AIR-SPRINT1 (5.1.0) to HEAD (5.1/Cloud) 108302: RA-233 Bring back solr4 into Platform installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108647 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pom.xml b/pom.xml index 2253bb4ec2..0c8848d12d 100644 --- a/pom.xml +++ b/pom.xml @@ -68,6 +68,22 @@ zip ${project.build.directory}/distribution + + org.alfresco + alfresco-solr4-distribution + ${project.version} + zip + ${project.build.directory}/distribution/${installer.name}-${project.version}/solr4 + solr4.war + + + org.alfresco + alfresco-solr4-distribution + ${project.version} + zip + ${project.build.directory}/distribution/${installer.name}-${project.version}/web-server/webapps + solr4.war + From 619df5532405a2bf505c1a7e698f3e73b5fbf7c2 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 21 Jul 2015 11:13:44 +0000 Subject: [PATCH 045/670] Merged AIR-SPRINT1 (5.1.0) to HEAD (5.1/Cloud) 108313: RA-233 Use alfresco.package.name for consistency with Community git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108648 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 0c8848d12d..63bf927f39 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,6 @@ ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - alfresco-platform project.outputDirectory=${project.build.directory} project.version=${project.version} @@ -73,7 +72,7 @@ alfresco-solr4-distribution ${project.version} zip - ${project.build.directory}/distribution/${installer.name}-${project.version}/solr4 + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/solr4 solr4.war @@ -81,7 +80,7 @@ alfresco-solr4-distribution ${project.version} zip - ${project.build.directory}/distribution/${installer.name}-${project.version}/web-server/webapps + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps solr4.war From 07ecbb1de74c29cf95ae549df493c1927a476772 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 21 Jul 2015 12:18:23 +0000 Subject: [PATCH 046/670] Merge WOLF-1 to HEAD 108132: UTF-30 Fix version of share, built in Share codebase Fix version of share-po, built in Share codebase 108130: UTF-30 Fix version of artifacts built in Share codebase + package alfresco-platform and share-services AMP instead of share-enabled alfresco war 108128: UTF-30 Fix version of artifacts built in Share codebase + package alfresco-platform and share-services AMP instead of share-enabled alfresco war 107846: EOL-10: Remove JBPM bootstrap. Removed the JBPM boostrap bean ("workflowScheduler") and the schema validation from bootstrap-context.xml 107842: EOL-4 : Remove JBPM schema bootstrap reference. 107839: EOL-8 : Remove JBPMWorkflowTestSuite and re-instate InviteServiceTest 107823: Temp remove InviteServiceTest 107820: EOL-9: Remove workflow definitions for JBPM workflows 107813: EOL-6: Remove jBPM from MBeans SVN ignore settings 107810: EOL-8 : Attempt to update Invite service test to use activity. 107794:EOL-5: Remove jBPM from Admin Console 107790: EOL-8 : Remove JBPM Tests EOL-8 : more JBPM tests removed. EOL-8 : Remove JBPM tests from Workflow Test Suite EOL-8 : Remove JBPMEngineTest AIRWOLF - more enterprise pom work. UTF-143 - add the update tool JAR to the enterprise distribution. Airwolf - need to separate dependency.share.version EOL-8 - Remove system.workflow.engine.jbpm.enabled git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108654 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 + .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 63bf927f39..472b2d98bf 100644 --- a/pom.xml +++ b/pom.xml @@ -78,6 +78,7 @@ org.alfresco alfresco-solr4-distribution + ${dependency.share.version} ${project.version} zip ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 62dfffac2c..4cb4ddee83 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -67,5 +67,3 @@ index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ -### BPM Engine ### -system.workflow.engine.jbpm.enabled=false From 7bf1d6bc4c0d0602c1284934c07ed86168c9b636 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 21 Jul 2015 13:26:14 +0000 Subject: [PATCH 047/670] RA-233 Move Share-dependant projects from Platform to Share (wcmqs, webeditor) or to Full-Installer (ear, share-po-run) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108662 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 249 ++++++++++++++++++ ear/src/assembly/ear-distribution.xml | 32 +++ ear/src/assembly/myfaces-websphere.xml | 43 +++ .../main/application/META-INF/application.xml | 29 ++ .../deployments/defaultApp/deployment.xml | 10 + .../servers/defaultServer/libraries.xml | 4 + .../META-INF/jboss-deployment-structure.xml | 15 ++ .../META-INF/weblogic-application.xml | 111 ++++++++ .../main/resources/commons-logging.properties | 2 + share-po-run/pom.xml | 42 +++ 10 files changed, 537 insertions(+) create mode 100644 ear/pom.xml create mode 100644 ear/src/assembly/ear-distribution.xml create mode 100644 ear/src/assembly/myfaces-websphere.xml create mode 100644 ear/src/main/application/META-INF/application.xml create mode 100644 ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml create mode 100644 ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml create mode 100644 ear/src/main/application/META-INF/jboss-deployment-structure.xml create mode 100644 ear/src/main/application/META-INF/weblogic-application.xml create mode 100644 ear/src/main/resources/commons-logging.properties create mode 100644 share-po-run/pom.xml diff --git a/ear/pom.xml b/ear/pom.xml new file mode 100644 index 0000000000..e0b98c7574 --- /dev/null +++ b/ear/pom.xml @@ -0,0 +1,249 @@ + + 4.0.0 + alfresco-ear-distribution + Alfresco EAR Distribution + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + pom + + + + + org.alfresco + alfresco-enterprise + ${project.version} + war + + + org.alfresco + share + ${dependency.share.version} + war + + + + org.alfresco + alfresco-enterprise-vti-bin + ${project.version} + war + + + org.alfresco + alfresco-enterprise-server-root + ${project.version} + war + + + + + + org.alfresco + alfresco-platform-enterprise-distributionzip + ${project.version} + zip + provided + + + + + org.apache.ws.commons.axiom + axiom-api + provided + + + org.apache.ws.commons.axiom + axiom-impl + provided + + + cglib + cglib-nodep + 2.3 + provided + + + commons-beanutils + commons-beanutils + provided + + + commons-codec + commons-codec + provided + + + commons-collections + commons-collections + provided + + + commons-digester + commons-digester + provided + + + commons-lang + commons-lang + provided + + + org.codehaus.jackson + jackson-core-asl + provided + + + org.codehaus.jackson + jackson-mapper-asl + provided + + + org.apache.myfaces.core + myfaces-api + provided + + + org.apache.myfaces.core + myfaces-impl + provided + + + com.sun.xml.bind + jaxb-impl + provided + + + javax.xml.bind + jaxb-api + 2.1 + provided + + + org.apache.httpcomponents + httpclient + 4.3.3 + provided + + + org.apache.httpcomponents + httpcore + 4.3.2 + provided + + + + + alfresco-enterprise-ear-${project.version} + + + + maven-ear-plugin + 2.10.1 + + + build-ear + + ear + + + + + + + org.alfresco + alfresco-enterprise + alfresco.war + + + org.alfresco + share + share.war + + + org.alfresco + alfresco-enterprise-vti-bin + _vti_bin.war + + + org.alfresco + alfresco-enterprise-server-root + ROOT.war + + + + + + + maven-dependency-plugin + + + unpack-distribution + prepare-package + + unpack-dependencies + + + alfresco-platform-enterprise-distributionzip + true + alfresco-enterprise-${project.version}/solr4/,alfresco-enterprise-${project.version}/web-server/webapps/ + + + + + get-vaadin + prepare-package + + copy + + + + + com.vaadin + vaadin-application-server-class-loader-workaround + 1.0.1 + + + ${project.build.directory}/dependency/alfresco-enterprise-${project.version}/web-server/lib + + + + + + + maven-assembly-plugin + + + make-myfaces-zip + package + + single + + + + src/assembly/myfaces-websphere.xml + + myfaces1_1-websphere-shared-lib-${project.version} + false + + + + + make-ear-zip + package + + single + + + + src/assembly/ear-distribution.xml + + false + + + + + + + diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml new file mode 100644 index 0000000000..f5b735b132 --- /dev/null +++ b/ear/src/assembly/ear-distribution.xml @@ -0,0 +1,32 @@ + + distribution + + zip + + false + + + + ${project.build.directory}/dependency/alfresco-enterprise-${project.version} + + + web-server/shared/** + + + + ${project.build.directory}/dependency/alfresco-enterprise-${project.version}/web-server/shared/classes + web-server/classpath + + + + + + ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip + + + ${project.build.directory}/alfresco-enterprise-ear-${project.version}.ear + alfresco-enterprise-${project.version}.ear + + + diff --git a/ear/src/assembly/myfaces-websphere.xml b/ear/src/assembly/myfaces-websphere.xml new file mode 100644 index 0000000000..a3e8a74866 --- /dev/null +++ b/ear/src/assembly/myfaces-websphere.xml @@ -0,0 +1,43 @@ + + myfaces-websphere + + zip + + false + + + + src/main/resources + myfaces1_1 + + + + + + myfaces1_1 + + *:*:jar + + + *:jaxb*:jar + + provided + false + true + false + + + + java/jre/lib/endorsed + + *:jaxb*:jar + + provided + false + true + false + + + + diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml new file mode 100644 index 0000000000..a659dcb723 --- /dev/null +++ b/ear/src/main/application/META-INF/application.xml @@ -0,0 +1,29 @@ + + + + Alfresco + + + alfresco.war + /alfresco + + + + + share.war + /share + + + + + ROOT.war + / + + + + + _vti_bin.war + /_vti_bin + + + diff --git a/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml b/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml new file mode 100644 index 0000000000..76408d6775 --- /dev/null +++ b/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml b/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml new file mode 100644 index 0000000000..27ce6b48e5 --- /dev/null +++ b/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml @@ -0,0 +1,4 @@ + + + $(WAS_INSTALL_ROOT)/myfaces1_1 + diff --git a/ear/src/main/application/META-INF/jboss-deployment-structure.xml b/ear/src/main/application/META-INF/jboss-deployment-structure.xml new file mode 100644 index 0000000000..c9218b8cd7 --- /dev/null +++ b/ear/src/main/application/META-INF/jboss-deployment-structure.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ear/src/main/application/META-INF/weblogic-application.xml b/ear/src/main/application/META-INF/weblogic-application.xml new file mode 100644 index 0000000000..dd479dc6ab --- /dev/null +++ b/ear/src/main/application/META-INF/weblogic-application.xml @@ -0,0 +1,111 @@ + + + + + + repoclient + Alfresco Repository Client + + + + + webapp.encoding.default + UTF-8 + + + + antlr.* + com.bea.faces.* + com.ctc.wstx.* + com.google.common.* + com.sun.codemodel.* + com.sun.faces.* + com.sun.mail.* + com.sun.tools.* + com.sun.xml.bind.* + com.sun.xml.ws.* + com.sun.xml.ws.api.* + com.sun.xml.ws.developer.* + com.sun.xml.ws.server.* + com.sun.xml.ws.transport.* + com.sun.xml.ws.util.* + javax.faces.* + javax.wsdl.* + javax.wsdl.extensions.* + javax.wsdl.factory.* + javax.wsdl.xml.* + net.sf.cglib.* + org.antlr.runtime.* + org.apache.commons.* + org.apache.oro.* + org.apache.taglibs.* + org.apache.tools.* + org.apache.xerces.* + org.apache.xmlbeans.* + org.apache.xmlcommons.* + org.bouncycastle.* + org.bouncycastle.asn1.* + org.bouncycastle.crypto.* + org.bouncycastle.i18n.* + org.bouncycastle.jce.* + org.bouncycastle.math.* + org.bouncycastle.mozilla.* + org.bouncycastle.ocsp.* + org.bouncycastle.openssl.* + org.bouncycastle.util.* + org.bouncycastle.voms.* + org.bouncycastle.x509.* + org.codehaus.jackson.* + org.codehaus.stax2.* + org.joda.time.* + org.jvnet.fastinfoset.* + org.jvnet.mimepull.* + org.jvnet.staxex.* + org.kohsuke.rngom.* + org.mozilla.* + org.objectweb.asm.* + org.opensaml.* + org.opensaml.common.* + org.opensaml.saml2.* + org.opensaml.xml.* + org.relaxng.datatype.* + org.slf4j.* + org.slf4j.helpers.* + org.slf4j.impl.* + org.slf4j.spi.* + org.xmlpull.* + repackage.* + schemaorg_apache_xmlbeans.system.sXMLCONFIG.* + schemaorg_apache_xmlbeans.system.sXMLLANG.* + schemaorg_apache_xmlbeans.system.sXMLSCHEMA.* + schemaorg_apache_xmlbeans.system.sXMLTOOLS.* + + + + javax.faces.* + com.sun.faces.* + com.bea.faces.* + META-INF/services/javax.servlet.ServletContainerInitializer + META-INF/services/com.sun.tools.ws.api.wsdl.TWSDLExtensionHandler + META-INF/services/com.sun.tools.ws.processor.generator.GeneratorBase + META-INF/services/com.sun.tools.ws.processor.generator.GeneratorExtension + META-INF/services/com.sun.xml.ws.api.BindingIDFactory + META-INF/services/com.sun.xml.ws.api.client.ServiceInterceptorFactory + META-INF/services/com.sun.xml.ws.api.wsdl.parser.WSDLParserExtension + META-INF/services/com.sun.xml.ws.api.wsdl.writer.WSDLGeneratorExtension + META-INF/services/com.sun.xml.ws.spi.db.BindingContextFactory + META-INF/services/com.sun.xml.ws.spi.db.DatabindingProvider + META-INF/services/javax.xml.bind.JAXBContext + META-INF/services/javax.xml.soap.MessageFactory + META-INF/services/javax.xml.soap.MetaFactory + META-INF/services/javax.xml.soap.SOAPConnectionFactory + META-INF/services/javax.xml.soap.SOAPElementFactory + META-INF/services/javax.xml.soap.SOAPFactory + META-INF/services/javax.xml.ws.spi.Provider + + + + false + + + diff --git a/ear/src/main/resources/commons-logging.properties b/ear/src/main/resources/commons-logging.properties new file mode 100644 index 0000000000..59d017919e --- /dev/null +++ b/ear/src/main/resources/commons-logging.properties @@ -0,0 +1,2 @@ +priority=1 +org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml new file mode 100644 index 0000000000..9cf71de94d --- /dev/null +++ b/share-po-run/pom.xml @@ -0,0 +1,42 @@ + + 4.0.0 + alfresco-installer-share-po + Share Page Object tests passed on the installer + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + pom + + + + + + + maven-dependency-plugin + + + unpack-pom + generate-test-resources + + unpack + + + + + org.alfresco + share-po + ${dependency.share.version} + src + zip + ${project.build.directory} + + + + + + + + + From 026d3f7dd4c33afd3e3d9e1de815c3e081412d3c Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 21 Jul 2015 13:26:14 +0000 Subject: [PATCH 048/670] RA-233 Move Share-dependant projects from Platform to Share (wcmqs, webeditor) or to Full-Installer (ear, share-po-run) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108662 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index 472b2d98bf..63bf927f39 100644 --- a/pom.xml +++ b/pom.xml @@ -78,7 +78,6 @@ org.alfresco alfresco-solr4-distribution - ${dependency.share.version} ${project.version} zip ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps From f3d666529fda9e033a6b05e3aa733fdf127d5c20 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 21 Jul 2015 17:15:45 +0000 Subject: [PATCH 049/670] RA-482 Working on fixing full installer for Community git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108698 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 5 +- installer/pom.xml | 396 ++++++++++++++++++++++++------------------- pom.xml | 15 +- 3 files changed, 233 insertions(+), 183 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index d33b5ee816..ef792f7f4b 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -19,7 +19,7 @@ org.alfresco - alfresco-platform-distribution + alfresco-platform-distributionzip ${alfresco.platform.version} zip @@ -61,7 +61,7 @@ org.alfresco - alfresco-platform-distribution + alfresco-platform-distributionzip ${alfresco.platform.version} zip @@ -87,6 +87,7 @@ single + false src/assembly/full-distribution.xml diff --git a/installer/pom.xml b/installer/pom.xml index c0c13ddef0..b8a45c6633 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,37 +6,184 @@ alfresco-full-installation 2015-1-EA-SNAPSHOT - alfresco-full-installer + alfresco-community-installer pom - Alfresco Enterprise Installers + Alfresco Community Full Installers - 2015-1-EA ${user.home}/binaries - ${binaries.folder}/bitrock/bitrock-9.5.1 - ${binaries.folder}/build-classpath/alfresco-code-sign + ${project.build.directory}/installbuilder + ${binaries.folder}/build-classpath/code-signing + ${binaries.folder}/build-classpath/license.xml - --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 + project.version=${project.version} + project.fullName='Alfresco One Platform ${project.version}' + project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 + project.osxSigningPkcs12Password=${p12Password} + project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 + project.windowsSigningPkcs12Password=${p12Password} + alfresco_edition=community + alfrescogoogledocs_component_enabled=1 + alfrescosharepoint_component_enabled=1 + alfrescosolr_component_enabled=1 + alfrescowcmqs_component_enabled=1 - + + + org.alfresco - alfresco-installer - ${project.version} - pom + installer-common + ${installer.common.version} + linux + tgz + + + org.alfresco + installer-common + ${installer.common.version} + osx + tgz + + + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + linux + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + osx + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + win32 + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + win64 + tgz + + + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + linux + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + osx + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + win32 + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + win64 + tgz + + + + + com.oracle.java + jre + ${installer.java.version} + linux + tgz + + + com.oracle.java + jre + ${installer.java.version} + osx + tgz + + + com.oracle.java + jre + ${installer.java.version} + win32 + tgz + + + com.oracle.java + jre + ${installer.java.version} + win64 + tgz + + + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + linux + tgz + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + osx + tgz + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + windows + tgz + + + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + linux + tgz + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + osx + tgz + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + win + tgz @@ -55,22 +202,47 @@ org.alfresco - alfresco-installer - ${project.version} - ${project.build.directory} + alfresco-installer-resources + ${alfresco.platform.version} + ${project.build.directory}/classes org.alfresco - alfresco-enterprise-distribution + alfresco-distribution ${project.version} zip ${project.build.directory}/distribution + + + org.alfresco + alfresco-solr1-distribution + ${alfresco.platform.version} + zip + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps + + + + org.alfresco + alfresco-solr4-distribution + ${alfresco.platform.version} + zip + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/solr4 + solr4.war + + + org.alfresco + alfresco-solr4-distribution + ${alfresco.platform.version} + zip + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps + solr4.war + org.alfresco alfresco-wcmqs-distribution - ${project.version} + ${alfresco.share.version} zip ${project.build.directory}/wcmqs @@ -78,7 +250,7 @@ org.alfresco alfresco-wcmqs-web - ${project.version} + ${alfresco.share.version} classes ${project.build.directory}/wcmqs alfresco/web-extension/** @@ -87,45 +259,10 @@ org.alfresco alfresco-wcmqs-client-api - ${project.version} + ${alfresco.share.version} ${project.build.directory}/wcmqs alfresco/extension/** - - - org.alfresco - alfresco-solr1-distribution - ${project.version} - zip - ${project.build.directory}/distribution/alfresco-enterprise-${project.version}/alf_data/solr - - - - - - get-amps - prepare-package - - copy - - - - - org.alfresco.integrations - alfresco-googledocs-repo - ${alfresco.googledocs.version} - enterprise - amp - alfresco-googledocs-repo-${alfresco.googledocs.version}.amp - - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - enterprise - alfresco-googledocs-share-${alfresco.googledocs.version}.amp - amp - @@ -153,10 +290,10 @@ - maven-antrun-plugin + extract-binaries-tgz prepare-package @@ -165,98 +302,22 @@ - + - - - - - org.codehaus.mojo - exec-maven-plugin - - ${bitrock.executable} - ${project.build.directory}/bitrock - - - + - win32-installer + build-installers package - exec + run - ${skipWinInstaller} - - 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 - - - - - - - win64-installer - package - - exec - - - ${skipWinInstaller} - - 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 - - - - - - - linux-installer - package - - exec - - - ${skipLinInstaller} - - 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 - - - - - - - osx-installer - package - - exec - - - ${skipOSXInstaller} - - 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 - + ${project.build.directory}/classes/bitrock + + + @@ -274,7 +335,7 @@ - ${bitrock.folder}/win/bin/builder-cli.exe + ${bitrock.folder}/bin/builder-cli.exe @@ -285,43 +346,20 @@ - ${bitrock.folder}/linux/bin/builder + ${bitrock.folder}/bin/builder - - - sign + osx-bitrock - - ${user.home}/binaries/build-classpath/alfresco-code-sign.der - + + mac + - - - - maven-antrun-plugin - - - sign-windows-installers - verify - - run - - - ${skipWinInstaller} - - - - - - - - - - - + + ${bitrock.folder}/bin/builder + - + diff --git a/pom.xml b/pom.xml index 4a6db3b2cc..bf6dde871c 100644 --- a/pom.xml +++ b/pom.xml @@ -12,8 +12,19 @@ Alfresco Full Installation - 5.1-AIR1-SNAPSHOT - 5.1-AIR1-SNAPSHOT + + 5.1-SNAPSHOT + + + 5.1-SNAPSHOT + + + 5.0-20150414 + 7.0.59-alfresco-distribution + 1.8.0_31 + 9.3.6-openssl101 + 4.2.5-alfresco + 15.1.0 From 2bbd72ac52f67b33f5406453928f154002bd4dd4 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 22 Jul 2015 10:15:07 +0000 Subject: [PATCH 050/670] RA-482: Override alfresco.package.name property for the installer naming. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108724 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bf6dde871c..1a230bcdf5 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,9 @@ 9.3.6-openssl101 4.2.5-alfresco 15.1.0 + + + alfresco-community @@ -43,5 +46,4 @@ - From 4e7224a1bb3b909d6968a575ccb606eb3dc31165 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 22 Jul 2015 10:20:20 +0000 Subject: [PATCH 051/670] RA-482: Added distributionManagement to alfresco-internal-snapshots git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108725 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index 1a230bcdf5..b382f76c78 100644 --- a/pom.xml +++ b/pom.xml @@ -46,4 +46,10 @@ + + + alfresco-internal-snapshots + https://artifacts.alfresco.com/nexus/content/repositories/internal-snapshots + + From 094b5bad421fd01c94beb6c1068f75530dbb84d4 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 22 Jul 2015 10:37:09 +0000 Subject: [PATCH 052/670] RA-482: Moved project.outputDirectory parameter. For some really obscure reason, a special character was added at the end of the line and messed with the target folder name. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108730 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/pom.xml b/installer/pom.xml index b8a45c6633..f384892786 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -16,7 +16,6 @@ ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - project.outputDirectory=${project.build.directory} project.version=${project.version} project.fullName='Alfresco One Platform ${project.version}' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 @@ -28,6 +27,7 @@ alfrescosharepoint_component_enabled=1 alfrescosolr_component_enabled=1 alfrescowcmqs_component_enabled=1 + project.outputDirectory=${project.build.directory} From 4d41c38bff86b9c16815e6ca4a5b9e3b5197c783 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 22 Jul 2015 10:42:32 +0000 Subject: [PATCH 053/670] RA-482: Fixed project fullname git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108731 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/pom.xml b/installer/pom.xml index f384892786..6a5cc1b6ac 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${project.version} - project.fullName='Alfresco One Platform ${project.version}' + project.fullName='Alfresco Community ${project.version}' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From d18caa2315465120b07933da07cdb40b56d3e72c Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 22 Jul 2015 11:19:23 +0000 Subject: [PATCH 054/670] RA-482 Bring back Solr4 into Distribution git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108737 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 21 ++++++++++++++ .../src/assembly/full-distribution.xml | 28 +++++++++++++++---- installer/pom.xml | 17 ----------- 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index ef792f7f4b..a6a7a0330a 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -30,6 +30,20 @@ + + + org.alfresco + alfresco-solr4-distribution + ${alfresco.share.version} + zip + + + * + * + + + + org.alfresco @@ -65,6 +79,13 @@ ${alfresco.platform.version} zip + + org.alfresco + alfresco-solr4-distribution + ${alfresco.platform.version} + zip + ${project.build.directory}/dependency/solr4 + org.alfresco alfresco-share-distribution diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index 3017ca6a9e..d05bef26aa 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -18,23 +18,41 @@ - + - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.platform.version} + ${project.build.directory}/dependency/solr4 + solr4 + + solr4.war + + + + ${project.build.directory}/dependency/solr4 + web-server/webapps + + solr4.war + + + + + + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} share.war web-server/webapps - - - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} *.amp amps_share + + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples + web-server/shared/classes/alfresco/web-extension + diff --git a/installer/pom.xml b/installer/pom.xml index 6a5cc1b6ac..800e692221 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -221,23 +221,6 @@ zip ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps - - - org.alfresco - alfresco-solr4-distribution - ${alfresco.platform.version} - zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/solr4 - solr4.war - - - org.alfresco - alfresco-solr4-distribution - ${alfresco.platform.version} - zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps - solr4.war - org.alfresco From 650d25f7a52b478ccee8f89460294b606b68a463 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 22 Jul 2015 16:20:03 +0000 Subject: [PATCH 055/670] RA-482: Added enterprise-distribution and enterprise-installer pom files. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108774 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 1 + .../src/assembly/full-distribution.xml | 2 +- ear/pom.xml | 12 +- enterprise-distribution/pom.xml | 123 +++++++++++ enterprise-installer/pom.xml | 205 ++++++++++++++++++ 5 files changed, 336 insertions(+), 7 deletions(-) create mode 100644 enterprise-distribution/pom.xml create mode 100644 enterprise-installer/pom.xml diff --git a/distribution/pom.xml b/distribution/pom.xml index a6a7a0330a..44c72e2875 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -13,6 +13,7 @@ 8080 + community diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index d05bef26aa..5dd43c27ef 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -14,7 +14,7 @@ - ${project.build.directory}/dependency/alfresco-platform-community-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-platform-${alfresco.platform.edition}-${alfresco.platform.version} diff --git a/ear/pom.xml b/ear/pom.xml index e0b98c7574..79228863ac 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -13,27 +13,27 @@ org.alfresco - alfresco-enterprise - ${project.version} + alfresco-platform-enterprise + ${alfresco.platform.version} war org.alfresco share - ${dependency.share.version} + ${alfresco.share.version} war org.alfresco alfresco-enterprise-vti-bin - ${project.version} + ${alfresco.platform.version} war org.alfresco alfresco-enterprise-server-root - ${project.version} + ${alfresco.platform.version} war @@ -42,7 +42,7 @@ org.alfresco alfresco-platform-enterprise-distributionzip - ${project.version} + ${alfresco.platform.version} zip provided diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml new file mode 100644 index 0000000000..e7bbc6c921 --- /dev/null +++ b/enterprise-distribution/pom.xml @@ -0,0 +1,123 @@ + + 4.0.0 + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + alfresco-enterprise-distribution + jar + Alfresco Full Distribution (Enterprise Edition) + + + + 8080 + enterprise + + + + + + org.alfresco + alfresco-platform-enterprise-distributionzip + ${alfresco.platform.version} + zip + + + * + * + + + + + + + org.alfresco + alfresco-solr4-distribution + ${alfresco.share.version} + zip + + + * + * + + + + + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + + + * + * + + + + + + + alfresco-enterprise-${project.version} + + + maven-dependency-plugin + + + extract-keystore + generate-resources + + unpack + + + + + org.alfresco + alfresco-platform-enterprise-distributionzip + ${alfresco.platform.version} + zip + + + org.alfresco + alfresco-solr4-distribution + ${alfresco.platform.version} + zip + ${project.build.directory}/dependency/solr4 + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + + + + + + + + + maven-assembly-plugin + + + make-assembly + package + + single + + + false + + ../distribution/src/assembly/full-distribution.xml + + + + + + + + + diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml new file mode 100644 index 0000000000..3138788dc2 --- /dev/null +++ b/enterprise-installer/pom.xml @@ -0,0 +1,205 @@ + + 4.0.0 + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + alfresco-enterprise-installer + pom + Alfresco Enterprise Full Installers + + + ${user.home}/binaries + ${project.build.directory}/installbuilder + ${binaries.folder}/build-classpath/code-signing + ${binaries.folder}/build-classpath/license.xml + + project.version=${project.version} + project.fullName='Alfresco One Platform ${project.version}' + project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 + project.osxSigningPkcs12Password=${p12Password} + project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 + project.windowsSigningPkcs12Password=${p12Password} + alfresco_edition=enterprise + alfrescogoogledocs_component_enabled=1 + alfrescosharepoint_component_enabled=1 + alfrescosolr_component_enabled=1 + alfrescowcmqs_component_enabled=1 + project.outputDirectory=${project.build.directory} + + + + alfresco-enterprise + + + + + + org.alfresco + alfresco-community-installer + ${project.version} + pom + + + + + + + maven-dependency-plugin + + + get-distribution + prepare-package + + unpack + + + + + org.alfresco + alfresco-installer-resources + ${alfresco.platform.version} + ${project.build.directory}/classes + + + org.alfresco + alfresco-enterprise-distribution + ${project.version} + zip + ${project.build.directory}/distribution + + + + org.alfresco + alfresco-solr1-distribution + ${alfresco.platform.version} + zip + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps + + + + org.alfresco + alfresco-wcmqs-distribution + ${alfresco.share.version} + zip + ${project.build.directory}/wcmqs + + + + org.alfresco + alfresco-wcmqs-web + ${alfresco.share.version} + classes + ${project.build.directory}/wcmqs + alfresco/web-extension/** + + + + org.alfresco + alfresco-wcmqs-client-api + ${alfresco.share.version} + ${project.build.directory}/wcmqs + alfresco/extension/** + + + + + + + + + + maven-resources-plugin + + + override-local-resources + prepare-package + + resources + + + ${project.build.directory} + true + + properties + + + + + + + + maven-antrun-plugin + + + + extract-binaries-tgz + prepare-package + + run + + + + + + + + + + build-installers + package + + run + + + ${project.build.directory}/classes/bitrock + + + + + + + + + + + + + + win-bitrock + + + windows + + + + ${bitrock.folder}/bin/builder-cli.exe + + + + linux-bitrock + + + linux + + + + ${bitrock.folder}/bin/builder + + + + osx-bitrock + + + mac + + + + ${bitrock.folder}/bin/builder + + + + + From 2dd9b27ec51ef729f7b345401c8dbc69314600ba Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 22 Jul 2015 17:16:49 +0000 Subject: [PATCH 056/670] RA-482 Fix Solr1 and WCMQS in Community installer, and bring back optional components git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108775 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index 800e692221..43ab337e19 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -17,16 +17,12 @@ ${binaries.folder}/build-classpath/license.xml project.version=${project.version} - project.fullName='Alfresco Community ${project.version}' + project.fullName='Alfresco Community' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=community - alfrescogoogledocs_component_enabled=1 - alfrescosharepoint_component_enabled=1 - alfrescosolr_component_enabled=1 - alfrescowcmqs_component_enabled=1 project.outputDirectory=${project.build.directory} @@ -219,7 +215,7 @@ alfresco-solr1-distribution ${alfresco.platform.version} zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/alf_data/solr @@ -229,23 +225,6 @@ zip ${project.build.directory}/wcmqs - - - org.alfresco - alfresco-wcmqs-web - ${alfresco.share.version} - classes - ${project.build.directory}/wcmqs - alfresco/web-extension/** - - - - org.alfresco - alfresco-wcmqs-client-api - ${alfresco.share.version} - ${project.build.directory}/wcmqs - alfresco/extension/** - From a6835f870bdb02169babfb0e2a3fc0f88bfcad45 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 23 Jul 2015 09:12:56 +0000 Subject: [PATCH 057/670] RA-482: That should fix the installer generation for both community and enterprise. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108834 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 4 ++-- distribution/src/assembly/full-distribution.xml | 2 +- enterprise-distribution/pom.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 44c72e2875..96f80ad555 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -20,7 +20,7 @@ org.alfresco - alfresco-platform-distributionzip + alfresco-platform-community-distributionzip ${alfresco.platform.version} zip @@ -76,7 +76,7 @@ org.alfresco - alfresco-platform-distributionzip + alfresco-platform-community-distributionzip ${alfresco.platform.version} zip diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index 5dd43c27ef..2a4f17272b 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -14,7 +14,7 @@ - ${project.build.directory}/dependency/alfresco-platform-${alfresco.platform.edition}-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-platform-${alfresco.platform.edition}-distributionzip-${alfresco.platform.version} diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index e7bbc6c921..d0fb2eff99 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -61,7 +61,7 @@ - alfresco-enterprise-${project.version} + ${project.artifactId}-${project.version} maven-dependency-plugin From 296eabf81d30e49463ce6d665d902cf7aff44e60 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 23 Jul 2015 09:55:31 +0000 Subject: [PATCH 058/670] RA-482: Added a community profile. Community distribution is built for both Community and Enterprise installers build. - Fixed EAR Distribution dependencies. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108838 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 13 +++++++++++++ pom.xml | 10 +++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ear/pom.xml b/ear/pom.xml index 79228863ac..d3c1dcf45e 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -9,6 +9,19 @@ pom + + + + + org.alfresco + alfresco-parent + ${alfresco.platform.version} + pom + import + + + + diff --git a/pom.xml b/pom.xml index b382f76c78..fefc7aac60 100644 --- a/pom.xml +++ b/pom.xml @@ -32,10 +32,18 @@ distribution - installer + + community + + true + + + installer + + enterprise From 9d4660bce049507e6f98d1e5d926aa9d6818430f Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 23 Jul 2015 10:41:54 +0000 Subject: [PATCH 059/670] RA-482: Fixed bitrock arguments git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108844 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 16 ++++++++-------- installer/pom.xml | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 3138788dc2..4e3ef816d8 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -16,18 +16,18 @@ ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - project.version=${project.version} - project.fullName='Alfresco One Platform ${project.version}' + project.version=${project.version} + project.fullName='Alfresco One' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=enterprise - alfrescogoogledocs_component_enabled=1 - alfrescosharepoint_component_enabled=1 - alfrescosolr_component_enabled=1 - alfrescowcmqs_component_enabled=1 - project.outputDirectory=${project.build.directory} + alfresco_edition=enterprise + alfrescogoogledocs_component_enabled=1 + alfrescosharepoint_component_enabled=1 + alfrescosolr_component_enabled=1 + alfrescowcmqs_component_enabled=1 + project.outputDirectory=${project.build.directory} diff --git a/installer/pom.xml b/installer/pom.xml index 43ab337e19..c425f65b28 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -16,14 +16,14 @@ ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - project.version=${project.version} - project.fullName='Alfresco Community' + project.version=${project.version} + project.fullName='Alfresco Community' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=community - project.outputDirectory=${project.build.directory} + alfresco_edition=community + project.outputDirectory=${project.build.directory} From 04f88d71d69e6a5a621a0d57ed5a4049c40cf028 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 23 Jul 2015 11:01:38 +0000 Subject: [PATCH 060/670] RA-482: Added dependencies exclusions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108845 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ear/pom.xml b/ear/pom.xml index d3c1dcf45e..9baa7c8a2c 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -58,6 +58,12 @@ ${alfresco.platform.version} zip provided + + + * + * + + From 688d1531611fe22be7bdac9dc5c77c49e776d73e Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 23 Jul 2015 11:20:44 +0000 Subject: [PATCH 061/670] RA-482 Fix EAR packaging: needs full, share-enabled alfresco war git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ear/pom.xml b/ear/pom.xml index 9baa7c8a2c..a20426e907 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -26,7 +26,7 @@ org.alfresco - alfresco-platform-enterprise + alfresco-enterprise ${alfresco.platform.version} war From 541371cb3312fe34c9a4ef790758b434349bf5ee Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 23 Jul 2015 11:57:29 +0000 Subject: [PATCH 062/670] RA-482 Add Enterprise README + fix SOLR1 and WCMQS in installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108852 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../src/main/resources/README.txt | 8 +++++++ enterprise-installer/pom.xml | 21 ++----------------- 2 files changed, 10 insertions(+), 19 deletions(-) create mode 100644 enterprise-distribution/src/main/resources/README.txt diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt new file mode 100644 index 0000000000..5328a74a41 --- /dev/null +++ b/enterprise-distribution/src/main/resources/README.txt @@ -0,0 +1,8 @@ +Alfresco Enterprise Edition ${project.version} +=============================== + +For Enterprise subscribers, refer to http://support.alfresco.com for release notes and detailed information on this release. + +For Community members, refer to the Alfresco wiki for more information on this release. + + diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 4e3ef816d8..4e1701e40b 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -31,7 +31,7 @@ - alfresco-enterprise + alfresco-enterprise-distribution @@ -76,7 +76,7 @@ alfresco-solr1-distribution ${alfresco.platform.version} zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps + ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/alf_data/solr @@ -86,23 +86,6 @@ zip ${project.build.directory}/wcmqs - - - org.alfresco - alfresco-wcmqs-web - ${alfresco.share.version} - classes - ${project.build.directory}/wcmqs - alfresco/web-extension/** - - - - org.alfresco - alfresco-wcmqs-client-api - ${alfresco.share.version} - ${project.build.directory}/wcmqs - alfresco/extension/** - From 86ec15e470fe376228e977c915b10bcd7e6f6337 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 23 Jul 2015 13:14:29 +0000 Subject: [PATCH 063/670] RA-482 Fix share-PO runner git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108864 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- share-po-run/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 9cf71de94d..2b87fa86ec 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -27,7 +27,7 @@ org.alfresco share-po - ${dependency.share.version} + ${alfresco.share.version} src zip ${project.build.directory} From 5f7c5941f45b24be0ca4a85799c4e3bbfe1d98e0 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 23 Jul 2015 14:35:35 +0000 Subject: [PATCH 064/670] RA-482: Added googledocs to full installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108870 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 23 +++++++++++++++++++++++ installer/pom.xml | 23 +++++++++++++++++++++++ pom.xml | 3 +++ 3 files changed, 49 insertions(+) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 4e1701e40b..3ce956aed1 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -89,6 +89,29 @@ + + get-amps + prepare-package + + copy + + + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + amp + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + + + + diff --git a/installer/pom.xml b/installer/pom.xml index c425f65b28..30dc647f58 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -228,6 +228,29 @@ + + get-amps + prepare-package + + copy + + + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + amp + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + + + + diff --git a/pom.xml b/pom.xml index fefc7aac60..ee940dbc5d 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,9 @@ 5.1-SNAPSHOT + + 3.0.2 + 5.0-20150414 7.0.59-alfresco-distribution From 96463d92eb247b6d1d5ace92d8a2a3a0f5d93c89 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 23 Jul 2015 15:21:01 +0000 Subject: [PATCH 065/670] RA-482 Use proper version for solr4 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108873 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 96f80ad555..e4847e746c 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -35,7 +35,7 @@ org.alfresco alfresco-solr4-distribution - ${alfresco.share.version} + ${alfresco.platform.version} zip diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index d0fb2eff99..fcad424f68 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -35,7 +35,7 @@ org.alfresco alfresco-solr4-distribution - ${alfresco.share.version} + ${alfresco.platform.version} zip From 66663d88183f165d47b5ac83eea4b508aa4a54cf Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 23 Jul 2015 15:26:55 +0000 Subject: [PATCH 066/670] RA-482 Tune README and add back dependencies on Platform Enterprise packaging git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108874 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 143 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 63bf927f39..467cd70079 100644 --- a/pom.xml +++ b/pom.xml @@ -32,12 +32,151 @@ - + + + org.alfresco - alfresco-installer - ${project.version} - pom + installer-common + ${installer.common.version} + linux + tgz + + + org.alfresco + installer-common + ${installer.common.version} + osx + tgz + + + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + linux + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + osx + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + win32 + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + win64 + tgz + + + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + linux + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + osx + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + win32 + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + win64 + tgz + + + + + com.oracle.java + jre + ${installer.java.version} + linux + tgz + + + com.oracle.java + jre + ${installer.java.version} + osx + tgz + + + com.oracle.java + jre + ${installer.java.version} + win32 + tgz + + + com.oracle.java + jre + ${installer.java.version} + win64 + tgz + + + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + linux + tgz + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + osx + tgz + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + windows + tgz + + + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + linux + tgz + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + osx + tgz From e3aa5c36ebd71e04e89d27f6e2b359e691d523eb Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 23 Jul 2015 15:27:58 +0000 Subject: [PATCH 067/670] RA-482: Fixed version substitution in README.txt git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108875 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-distribution/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index fcad424f68..9f856ca615 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -62,6 +62,12 @@ ${project.artifactId}-${project.version} + + + src/main/resources + true + + maven-dependency-plugin From aa7b1ed0c54046200d17d15867b73d93b256b2d3 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 23 Jul 2015 16:56:05 +0000 Subject: [PATCH 068/670] RA-482 Fix configuration of WCMQS in full installers git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108882 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 17 +++++++++++++++++ installer/pom.xml | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 3ce956aed1..f5431e5013 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -86,6 +86,23 @@ zip ${project.build.directory}/wcmqs + + + org.alfresco + alfresco-wcmqs-web + ${alfresco.share.version} + classes + ${project.build.directory}/wcmqs + alfresco/web-extension/** + + + + org.alfresco + alfresco-wcmqs-client-api + ${alfresco.share.version} + ${project.build.directory}/wcmqs + alfresco/extension/** + diff --git a/installer/pom.xml b/installer/pom.xml index 30dc647f58..15a500f620 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -225,6 +225,23 @@ zip ${project.build.directory}/wcmqs + + + org.alfresco + alfresco-wcmqs-web + ${alfresco.share.version} + classes + ${project.build.directory}/wcmqs + alfresco/web-extension/** + + + + org.alfresco + alfresco-wcmqs-client-api + ${alfresco.share.version} + ${project.build.directory}/wcmqs + alfresco/extension/** + From 7870841d15d188d8147a4f16bc2199466b504c3a Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 24 Jul 2015 08:09:19 +0000 Subject: [PATCH 069/670] RA-482: Fixed bitrock arguments formatting git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108925 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 467cd70079..21b02826de 100644 --- a/pom.xml +++ b/pom.xml @@ -16,18 +16,18 @@ ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - project.outputDirectory=${project.build.directory} - project.version=${project.version} - project.fullName='Alfresco One Platform ${project.version}' + project.outputDirectory=${project.build.directory} + project.version=${project.version} + project.fullName='Alfresco One Platform ${project.version}' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=enterprise - alfrescogoogledocs_component_enabled=0 - alfrescosharepoint_component_enabled=0 - alfrescosolr_component_enabled=0 - alfrescowcmqs_component_enabled=0 + alfresco_edition=enterprise + alfrescogoogledocs_component_enabled=0 + alfrescosharepoint_component_enabled=0 + alfrescosolr_component_enabled=0 + alfrescowcmqs_component_enabled=0 From ac75e3b2f0c13691174217bdd6b4a4a5a1552836 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 24 Jul 2015 10:25:29 +0000 Subject: [PATCH 070/670] RA-482: Separated alfresco.distribution.name from alfresco.package.name git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108930 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 21b02826de..09791755ba 100644 --- a/pom.xml +++ b/pom.xml @@ -211,7 +211,7 @@ alfresco-solr4-distribution ${project.version} zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/solr4 + ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/solr4 solr4.war @@ -219,7 +219,7 @@ alfresco-solr4-distribution ${project.version} zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/web-server/webapps + ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/web-server/webapps solr4.war From b2f55ce2b8965f08137b68de2f5ce9120adf4dbb Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 24 Jul 2015 10:30:50 +0000 Subject: [PATCH 071/670] RA-482: Separated alfresco.distribution.name from alfresco.package.name git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108931 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 3 ++- installer/pom.xml | 2 +- pom.xml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index f5431e5013..0ffe64bb6b 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -32,6 +32,7 @@ alfresco-enterprise-distribution + ${alfresco.package.name}-distributionzip @@ -76,7 +77,7 @@ alfresco-solr1-distribution ${alfresco.platform.version} zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/alf_data/solr + ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/alf_data/solr diff --git a/installer/pom.xml b/installer/pom.xml index 15a500f620..1fb1ca7459 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -215,7 +215,7 @@ alfresco-solr1-distribution ${alfresco.platform.version} zip - ${project.build.directory}/distribution/${alfresco.package.name}-${project.version}/alf_data/solr + ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/alf_data/solr diff --git a/pom.xml b/pom.xml index ee940dbc5d..684afcb5a3 100644 --- a/pom.xml +++ b/pom.xml @@ -29,8 +29,8 @@ 4.2.5-alfresco 15.1.0 - alfresco-community + ${alfresco.package.name}-distributionzip From 9203fbfda6b0fe1a146e27e2fce59afd23c60bfb Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 24 Jul 2015 11:33:38 +0000 Subject: [PATCH 072/670] RA-482: Fixed solr1 unpack distribution folder git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108932 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 0ffe64bb6b..505751ccba 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -31,7 +31,7 @@ - alfresco-enterprise-distribution + alfresco-enterprise ${alfresco.package.name}-distributionzip From 85d273d361356cf7cc87644af98b8d5c3bd5b912 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 24 Jul 2015 13:28:28 +0000 Subject: [PATCH 073/670] RA-482: Fixed alfresco distribution name git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108942 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 505751ccba..da7a1e0e8f 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -32,7 +32,7 @@ alfresco-enterprise - ${alfresco.package.name}-distributionzip + ${alfresco.package.name}-distribution diff --git a/pom.xml b/pom.xml index 684afcb5a3..07ebe98e9b 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,7 @@ 15.1.0 alfresco-community - ${alfresco.package.name}-distributionzip + ${alfresco.package.name}-distribution From 4c5b9aa958875d7736f5f20453bd2b236a4807ec Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 24 Jul 2015 13:50:30 +0000 Subject: [PATCH 074/670] RA-482: Fixed community distribution artifact AND zip name git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108945 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index e4847e746c..4d58b8c84d 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 2015-1-EA-SNAPSHOT - alfresco-distribution + alfresco-community-distribution jar Alfresco Full Distribution (Community Edition) @@ -61,7 +61,7 @@ - alfresco-community-${project.version} + ${project.artifactId}-${project.version} maven-dependency-plugin From 954c40dd85e9875ae572f345868bb4ca3305106c Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 24 Jul 2015 14:05:14 +0000 Subject: [PATCH 075/670] =?UTF-8?q?RA-482:=20Grrrrr=20!=20Was=20still=20fe?= =?UTF-8?q?tching=20the=20old=20artifact=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108948 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/pom.xml b/installer/pom.xml index 1fb1ca7459..d4d7ba6ccd 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -204,7 +204,7 @@ org.alfresco - alfresco-distribution + alfresco-community-distribution ${project.version} zip ${project.build.directory}/distribution From ea81796ecb8030780d0c8985bc4510c96aae55b6 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 24 Jul 2015 14:37:39 +0000 Subject: [PATCH 076/670] RA-482 Install Share Services AMP to Alfresco war, not Share war... git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@108951 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/assembly/full-distribution.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index 2a4f17272b..d0425304e2 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -47,7 +47,7 @@ *.amp - amps_share + amps ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples From 0ab3575dc380d586857972734c8ce803b1e3907c Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 29 Jul 2015 15:48:09 +0000 Subject: [PATCH 077/670] RA-504 Suppress Sharepoint option in Enterprise installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@109172 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index da7a1e0e8f..99f84075e2 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -24,7 +24,7 @@ project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=enterprise alfrescogoogledocs_component_enabled=1 - alfrescosharepoint_component_enabled=1 + alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=1 alfrescowcmqs_component_enabled=1 project.outputDirectory=${project.build.directory} From 2b8f0cad0917f8efb1f5031f7875cb0bfc24fdc0 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 31 Jul 2015 14:37:37 +0000 Subject: [PATCH 078/670] Fixed the path to include share.war in the distribution zip git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@109296 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/assembly/full-distribution.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index d0425304e2..eb5cd719af 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -36,7 +36,7 @@ - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-server/webapps share.war From 9bc9c43251583fb69566dadf142fe56a83cc7f27 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Mon, 3 Aug 2015 13:41:35 +0000 Subject: [PATCH 079/670] UTF-176 Move the update packager out of Platform codebase into Full Installer codebase, were it belongs git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@109435 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/update.xml | 44 ++++++++++++++++++++ enterprise-update/pom.xml | 54 +++++++++++++++++++++++++ pom.xml | 1 + 3 files changed, 99 insertions(+) create mode 100644 enterprise-update/assemblies/update.xml create mode 100644 enterprise-update/pom.xml diff --git a/enterprise-update/assemblies/update.xml b/enterprise-update/assemblies/update.xml new file mode 100644 index 0000000000..4094a897c3 --- /dev/null +++ b/enterprise-update/assemblies/update.xml @@ -0,0 +1,44 @@ + + + + update + + zip + + + + + + assets + + + + + + + false + true + assets/web-server/webapps + alfresco.war + + org.alfresco:alfresco-enterprise:war + + + + + + false + true + assets/web-server/webapps + share.war + + org.alfresco:share:war + + + + + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml new file mode 100644 index 0000000000..54a2fef360 --- /dev/null +++ b/enterprise-update/pom.xml @@ -0,0 +1,54 @@ + + + 4.0.0 + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + alfresco-enterprise-update-package + pom + Alfresco Enterprise Update Package + + + + + org.alfresco + alfresco-enterprise + ${alfresco.platform.version} + war + + + + org.alfresco + share + ${alfresco.share.version} + war + + + + + + + maven-assembly-plugin + + + update + package + + single + + + false + + assemblies/update.xml + + + + + + + + + diff --git a/pom.xml b/pom.xml index 07ebe98e9b..317abf97bf 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,7 @@ ear enterprise-distribution + enterprise-update enterprise-installer From 255cdfdf6c79940e9cc29f21d90b38ef72743bf8 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 4 Aug 2015 11:28:54 +0000 Subject: [PATCH 080/670] RA-407 Update Full Installer to configure Tomcat with reference to modules folders git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@109530 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/assembly/full-distribution.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index eb5cd719af..969433ca26 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -36,11 +36,12 @@ - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-server/webapps + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} + - share.war + web-server/** + modules/** - web-server/webapps ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} From 11be504aee20c998871e5671a0aebec6c1c43078 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 6 Aug 2015 16:12:42 +0000 Subject: [PATCH 081/670] RA-113 Create new public-javadoc module to generate Javadoc of Public API based on various code bases git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@109704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 + public-javadoc/pom.xml | 100 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 public-javadoc/pom.xml diff --git a/pom.xml b/pom.xml index 317abf97bf..16199a6407 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,7 @@ distribution + public-javadoc diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml new file mode 100644 index 0000000000..1353833cef --- /dev/null +++ b/public-javadoc/pom.xml @@ -0,0 +1,100 @@ + + 4.0.0 + alfresco-public-javadoc + Javadoc of Public API + + org.alfresco + alfresco-full-installation + 2015-1-EA-SNAPSHOT + + pom + + + 1.6.1 + + + + + + org.alfresco + alfresco-remote-api + ${alfresco.platform.version} + + + org.alfresco + share + classes + ${alfresco.share.version} + + + + + com.docflex + docflex-alfresco-license + 1.0 + license + provided + + + + + + + + maven-dependency-plugin + + + + default-cli + false + + unpack + + + + + com.docflex + docflex-javadoc + ${docflex.version} + zip + + + ${project.build.directory} + + + + + + + maven-javadoc-plugin + + com.docflex.javadoc.Doclet + ${project.build.directory}/docflex-javadoc-${docflex.version}/lib/docflex-javadoc.jar + + -license ${settings.localRepository}/com/docflex/docflex-alfresco-license/1.0/docflex-alfresco-license-1.0.license + -template ${project.build.directory}/docflex-javadoc-${docflex.version}/templates/JavadocPro/FramedDoc.tpl + -nodialog + -launchviewer=false + -p:filter.byAnns.include.classes=org.alfresco.api.AlfrescoPublicApi + -p:docTitle "Alfresco ${project.version} Public API" + -p:windowTitle "Alfresco ${project.version} Public API" + + true + true + + org.alfresco:* + + + org.alfresco:alfresco-xmlfactory + org.alfresco:alfresco-text-gen + + org.customer,org.apache + + + + + + + From 847dec4cd7210b30890f28f8e0bad2d0086260f3 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 11 Aug 2015 11:13:24 +0000 Subject: [PATCH 082/670] UTF-191 - Add upgrade tool to upgrade package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@109900 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/update.xml | 11 +++++++++++ enterprise-update/pom.xml | 8 ++++++++ pom.xml | 3 +++ 3 files changed, 22 insertions(+) diff --git a/enterprise-update/assemblies/update.xml b/enterprise-update/assemblies/update.xml index 4094a897c3..905fe0c3c4 100644 --- a/enterprise-update/assemblies/update.xml +++ b/enterprise-update/assemblies/update.xml @@ -38,6 +38,17 @@ org.alfresco:share:war + + + + false + true + bin + alfresco-update-tool.jar + + org.alfresco:alfresco-update-tool:jar + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 54a2fef360..12a5810fa2 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -25,6 +25,14 @@ share ${alfresco.share.version} war + + + + + org.alfresco + alfresco-update-tool + ${alfresco.updatetool.version} + jar diff --git a/pom.xml b/pom.xml index 16199a6407..9ea7e6615b 100644 --- a/pom.xml +++ b/pom.xml @@ -20,6 +20,9 @@ 3.0.2 + + + 1.0-SNAPSHOT 5.0-20150414 From b751bad8b7aa36b2d0c7b4ca0b50a877eddf543a Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 11 Aug 2015 16:37:59 +0000 Subject: [PATCH 083/670] UTF-191 - Add update tool JAR and batch files to update package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@109918 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/update.xml | 24 ++-------- enterprise-update/assemblies/updateTool.xml | 49 +++++++++++++++++++++ enterprise-update/pom.xml | 25 +++++++++++ 3 files changed, 78 insertions(+), 20 deletions(-) create mode 100644 enterprise-update/assemblies/updateTool.xml diff --git a/enterprise-update/assemblies/update.xml b/enterprise-update/assemblies/update.xml index 905fe0c3c4..3bc103a129 100644 --- a/enterprise-update/assemblies/update.xml +++ b/enterprise-update/assemblies/update.xml @@ -9,19 +9,14 @@ zip - - - - assets - - - + false + false true - assets/web-server/webapps + update/assets/web-server/webapps alfresco.war org.alfresco:alfresco-enterprise:war @@ -32,24 +27,13 @@ false true - assets/web-server/webapps + update/assets/web-server/webapps share.war org.alfresco:share:war - - - false - true - bin - alfresco-update-tool.jar - - org.alfresco:alfresco-update-tool:jar - - - diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml new file mode 100644 index 0000000000..0269281979 --- /dev/null +++ b/enterprise-update/assemblies/updateTool.xml @@ -0,0 +1,49 @@ + + + + update-tool + + zip + + + false + + + + ${project.basedir}/target/updatePackage.zip + updates + + + + + + + + false + true + bin + alfresco-update-tool.jar + + org.alfresco:alfresco-update-tool:jar + + + + + false + true + + true + + keep + + + org.alfresco:alfresco-update-tool-distribution:jar + + + + + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 12a5810fa2..6cb518f80f 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -34,15 +34,26 @@ ${alfresco.updatetool.version} jar + + + org.alfresco + alfresco-update-tool-distribution + ${alfresco.updatetool.version} + jar + + maven-assembly-plugin + + update + package single @@ -51,6 +62,20 @@ false assemblies/update.xml + + updatePackage + + + + update-tool + package + + single + + + false + + assemblies/updateTool.xml From 84692a84ea4f1b8bbfd7269a0b9ea331e3dd3d6c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Thu, 13 Aug 2015 15:10:22 +0000 Subject: [PATCH 084/670] UTF-154 - Some renaming of folders. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110061 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 6 +++--- enterprise-update/pom.xml | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 0269281979..ef7af2d596 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -8,13 +8,13 @@ zip - + false - ${project.basedir}/target/updatePackage.zip - updates + ${project.basedir}/target/update-contents-${version}.zip + update diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 6cb518f80f..46d8bd3fae 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -63,7 +63,7 @@ assemblies/update.xml - updatePackage + update-contents-${version} @@ -73,6 +73,10 @@ single + + + false + false assemblies/updateTool.xml From c267031da6733cfff36c6e14ee06c5f080a14bc2 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Fri, 14 Aug 2015 09:38:46 +0000 Subject: [PATCH 085/670] UTF-154 - Remove Manifest of tool distribution from update package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110121 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index ef7af2d596..3e97c11332 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -38,6 +38,9 @@ true keep + + META-INF/** + org.alfresco:alfresco-update-tool-distribution:jar From 04ba4babfac074880fd4738eff7e5be416b40381 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Tue, 18 Aug 2015 12:04:17 +0000 Subject: [PATCH 086/670] UTF-221: removed top-level "update" folder from content package format. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110323 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/update.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise-update/assemblies/update.xml b/enterprise-update/assemblies/update.xml index 3bc103a129..913c022b4c 100644 --- a/enterprise-update/assemblies/update.xml +++ b/enterprise-update/assemblies/update.xml @@ -16,7 +16,7 @@ false true - update/assets/web-server/webapps + assets/web-server/webapps alfresco.war org.alfresco:alfresco-enterprise:war @@ -27,7 +27,7 @@ false true - update/assets/web-server/webapps + assets/web-server/webapps share.war org.alfresco:share:war From f7ef1f60fe7444586d8ca6dfe6b5e5100170cdbb Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 18 Aug 2015 14:34:51 +0000 Subject: [PATCH 087/670] Fixed alfresco-platform-enterprise war artifactId git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110367 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 46d8bd3fae..29fc01546b 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -15,7 +15,7 @@ org.alfresco - alfresco-enterprise + alfresco-platform-enterprise ${alfresco.platform.version} war From 40fa2e31e115c15064f33d571c9a0ab0e1fcf85d Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 18 Aug 2015 15:19:17 +0000 Subject: [PATCH 088/670] BDE-400: Changed installer version to include maven.build.timestamp. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110383 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 +++- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 4 ++-- 9 files changed, 12 insertions(+), 10 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 4d58b8c84d..cba46487b5 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index a20426e907..a7189203e7 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 9f856ca615..3bfef01dda 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT alfresco-enterprise-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 99f84075e2..9e6bed65dd 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT alfresco-enterprise-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 29fc01546b..e9e4d64050 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT alfresco-enterprise-update-package pom diff --git a/installer/pom.xml b/installer/pom.xml index d4d7ba6ccd..3283b1f44b 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 9ea7e6615b..044e2caf90 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 6 alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT pom Alfresco Full Installation @@ -34,6 +34,8 @@ alfresco-community ${alfresco.package.name}-distribution + + yyyyMMdd diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 1353833cef..35e07e17b1 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 2b87fa86ec..1a95d69e4f 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -1,11 +1,11 @@ - +/distribution/pom.xml 4.0.0 alfresco-installer-share-po Share Page Object tests passed on the installer org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + ${maven.build.timestamp}-SNAPSHOT pom From 1c908196e8640c48bd3f7cc0dca9fec99b1ded82 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 18 Aug 2015 15:38:15 +0000 Subject: [PATCH 089/670] Changed alfresco-enterprise to alfresco-platform-enterprise git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110389 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index a7189203e7..8bb6727a3b 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -26,7 +26,7 @@ org.alfresco - alfresco-enterprise + alfresco-platform-enterprise ${alfresco.platform.version} war @@ -172,7 +172,7 @@ org.alfresco - alfresco-enterprise + alfresco-platform-enterprise alfresco.war From 629540de0be883aaacae6f49ebef591b87a8ef26 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 18 Aug 2015 16:10:28 +0000 Subject: [PATCH 090/670] Changed alfresco-enterprise to alfresco-platform-enterprise in the assembly descriptor. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110394 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/update.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/assemblies/update.xml b/enterprise-update/assemblies/update.xml index 913c022b4c..74674a26a3 100644 --- a/enterprise-update/assemblies/update.xml +++ b/enterprise-update/assemblies/update.xml @@ -19,7 +19,7 @@ assets/web-server/webapps alfresco.war - org.alfresco:alfresco-enterprise:war + org.alfresco:alfresco-platform-enterprise:war From 88983073e4980f6e6f0b63f8959f7284f00678c7 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Tue, 18 Aug 2015 16:35:13 +0000 Subject: [PATCH 091/670] UTF-192: Unpack update package and perform sanity tests Added tests to check the structure of the package and its sub-package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110397 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 48 +++++++- .../packaging/PackagingIntegrationTest.java | 104 ++++++++++++++++++ 2 files changed, 149 insertions(+), 3 deletions(-) create mode 100644 enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index e9e4d64050..407f474270 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -8,7 +8,7 @@ ${maven.build.timestamp}-SNAPSHOT alfresco-enterprise-update-package - pom + jar Alfresco Enterprise Update Package @@ -41,8 +41,15 @@ ${alfresco.updatetool.version} jar - - + + + + junit + junit + 4.12 + test + + @@ -85,6 +92,41 @@ + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/*IntegrationTest.java + + + + + integration-test + integration-test + + test + + + false + ${project.build.directory} + false + alphabetical + + ${artifactId}-${version}.zip + update-contents-${version}.zip + + + none + + + **/*IntegrationTest.java + + + + + diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java new file mode 100644 index 0000000000..f20577a13b --- /dev/null +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -0,0 +1,104 @@ + +package org.alfresco.update.packaging; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.util.Enumeration; +import java.util.Set; +import java.util.TreeSet; +import java.util.zip.ZipEntry; +import java.util.zip.ZipException; +import java.util.zip.ZipFile; + +import org.junit.Before; +import org.junit.Test; + +/** + * Update Package sanity tests. + *

+ * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: + *

+ *   -Dalfresco.update.package=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
+ *   -Dalfresco.contents.package=target/update-contents-2015-1-EA-SNAPSHOT.zip
+ * 
+ * + * ...or similar, depending on current version etc. There probably is a better way. + * + * @author Matt Ward + */ +public class PackagingIntegrationTest +{ + private File updatePackage; + private File contentsPackage; + + @Before + public void setUp() throws Exception + { + String pkgName = System.getProperty("alfresco.update.package"); + assertNotNull("Could not determine package name."); + updatePackage = new File(pkgName); + + String contentsPkgName = System.getProperty("alfresco.contents.package"); + assertNotNull("Could not determine content package name."); + contentsPackage = new File(contentsPkgName); + } + + @Test + public void testPackageStructureIsAsExpected() throws ZipException, IOException + { + // Check the package exists before we go any further + assertTrue("Update package does not exist.", updatePackage.exists()); + + Set paths = listFiles(updatePackage); + + // Are the binaries present? + assertPathPresent(paths, "bin/alfresco-update-tool.jar"); + assertPathPresent(paths, "bin/apply_updates.sh"); + assertPathPresent(paths, "bin/apply_updates.bat"); + + // Is the content sub-package present? + assertPathPresent(paths, "update/"+contentsPackage.getName()); + } + + @Test + public void testContentsPackageStructureIsAsExpected() throws ZipException, IOException + { + // Check the package exists before we go any further + assertTrue("Contents package does not exist.", contentsPackage.exists()); + + Set paths = listFiles(contentsPackage); + + // Are the webapps present? + assertPathPresent(paths, "assets/web-server/webapps/alfresco.war"); + assertPathPresent(paths, "assets/web-server/webapps/share.war"); + } + + private void assertPathPresent(Set pathsToCheck, String expectedPath) + { + assertTrue("Expected path to be present, but was not: "+expectedPath, + pathsToCheck.contains(expectedPath)); + } + + private Set listFiles(File file) throws ZipException, IOException + { + Set paths = new TreeSet(); + + ZipFile zipFile = new ZipFile(file); + try + { + Enumeration e = zipFile.entries(); + while (e.hasMoreElements()) + { + ZipEntry entry = e.nextElement(); + paths.add(entry.getName()); + } + } + finally + { + zipFile.close(); + } + return paths; + } +} From 452b0f5665f55254af4f263a9c188d43ec9869ac Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 18 Aug 2015 20:13:58 +0000 Subject: [PATCH 092/670] =?UTF-8?q?Revert=20r110383:=20The=20timestamp=20i?= =?UTF-8?q?n=20the=20version=20needs=20rework=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110408 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 +--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 4 ++-- 9 files changed, 10 insertions(+), 12 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index cba46487b5..4d58b8c84d 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index 8bb6727a3b..e843f7db75 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 3bfef01dda..9f856ca615 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT alfresco-enterprise-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 9e6bed65dd..99f84075e2 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT alfresco-enterprise-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 407f474270..f36094606a 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT alfresco-enterprise-update-package jar diff --git a/installer/pom.xml b/installer/pom.xml index 3283b1f44b..d4d7ba6ccd 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 044e2caf90..9ea7e6615b 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 6 alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT pom Alfresco Full Installation @@ -34,8 +34,6 @@ alfresco-community ${alfresco.package.name}-distribution - - yyyyMMdd diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 35e07e17b1..1353833cef 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 1a95d69e4f..2b87fa86ec 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -1,11 +1,11 @@ -/distribution/pom.xml + 4.0.0 alfresco-installer-share-po Share Page Object tests passed on the installer org.alfresco alfresco-full-installation - ${maven.build.timestamp}-SNAPSHOT + 2015-1-EA-SNAPSHOT pom From 7622f504431c99cedad206aaef6300fddb1c0751 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 20 Aug 2015 11:01:34 +0000 Subject: [PATCH 093/670] BDE-402: Upgraded 3rd party (PostgreSQL, LibreOffice, Common and JRE) - Upgraded PostgreSQL to version 9.4.4 - Upgraded Common to version 5.1-20150819 - Upgraded JRE to version 1.8.0_51 - Upgraded LibreOffice to version 4.4.5-alfresco git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110536 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 9ea7e6615b..4ccd36939f 100644 --- a/pom.xml +++ b/pom.xml @@ -20,16 +20,18 @@ 3.0.2 - - + + 1.0-SNAPSHOT - 5.0-20150414 + 5.1-20150819 7.0.59-alfresco-distribution - 1.8.0_31 - 9.3.6-openssl101 - 4.2.5-alfresco + 1.8.0_51 + 9.4.4 + 4.4.5-alfresco + + 15.1.0 alfresco-community From 018a16c47dd093409ecfebd8c90e2cc73302e2f6 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 20 Aug 2015 11:22:37 +0000 Subject: [PATCH 094/670] Updated deprecated Maven variables names git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110543 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 47 ++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index f36094606a..98cfd5f14a 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -26,41 +26,38 @@ ${alfresco.share.version} war - - - + + + org.alfresco alfresco-update-tool ${alfresco.updatetool.version} jar - - + + org.alfresco alfresco-update-tool-distribution ${alfresco.updatetool.version} jar - - - junit - junit - 4.12 - test - - + + + junit + junit + 4.12 + test + + maven-assembly-plugin - - update - package single @@ -70,23 +67,23 @@ assemblies/update.xml - update-contents-${version} + update-contents-${project.version} - + update-tool package single - - - false - + + + false + false - assemblies/updateTool.xml + assemblies/updateTool.xml @@ -114,8 +111,8 @@ false alphabetical - ${artifactId}-${version}.zip - update-contents-${version}.zip + ${project.artifactId}-${project.version}.zip + update-contents-${project.version}.zip none From 4d3bdf2c372d1f56e936d1f480d60446f5e1218b Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 20 Aug 2015 14:51:51 +0000 Subject: [PATCH 095/670] BDE-402: Reverted LibreOffice to 4.2.5 during 4.4.5 investigation. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110570 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ccd36939f..1473e406a4 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ 7.0.59-alfresco-distribution 1.8.0_51 9.4.4 - 4.4.5-alfresco + 4.2.5-alfresco 15.1.0 From 1fa4d091ab15a4530110060cbb9ec71188a82b01 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 25 Aug 2015 10:25:25 +0000 Subject: [PATCH 096/670] BDE-402: Added ghostscript extraction from Nexus git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@110752 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/pom.xml b/pom.xml index 09791755ba..687427d703 100644 --- a/pom.xml +++ b/pom.xml @@ -162,6 +162,36 @@ windows tgz + + + + com.ghostscript + ghostscript-distribution + 8.64 + linux + tgz + + + com.ghostscript + ghostscript-distribution + 8.64 + osx + tgz + + + com.ghostscript + ghostscript-distribution + 8.64 + win32 + tgz + + + com.ghostscript + ghostscript-distribution + 8.64 + win64 + tgz + From 1db40f7675bc34f8224af2a2680df3df3c219d27 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 25 Aug 2015 14:58:48 +0000 Subject: [PATCH 097/670] BDE-402: Added GhostScript and Upgraded Tomcat to 8.0.24 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110813 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 30 ++++++++++++++++++++++++++++++ pom.xml | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/installer/pom.xml b/installer/pom.xml index d4d7ba6ccd..05895c1775 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -158,6 +158,36 @@ windows tgz + + + + com.ghostscript + ghostscript-distribution + 8.64 + linux + tgz + + + com.ghostscript + ghostscript-distribution + 8.64 + osx + tgz + + + com.ghostscript + ghostscript-distribution + 8.64 + win32 + tgz + + + com.ghostscript + ghostscript-distribution + 8.64 + win64 + tgz + diff --git a/pom.xml b/pom.xml index 1473e406a4..753b0adf4b 100644 --- a/pom.xml +++ b/pom.xml @@ -26,10 +26,11 @@ 5.1-20150819 - 7.0.59-alfresco-distribution + 8.0.24-alfresco-distribution 1.8.0_51 9.4.4 4.2.5-alfresco + 8.64 15.1.0 From 402de31f6ff6f4edf17d68d946ee44f5f2bf5317 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 25 Aug 2015 15:30:10 +0000 Subject: [PATCH 098/670] BDE-402: Fixed Ghostscript version variable and extraction for platform only git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@110834 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 687427d703..2b58199b24 100644 --- a/pom.xml +++ b/pom.xml @@ -167,28 +167,28 @@ com.ghostscript ghostscript-distribution - 8.64 + ${installer.ghostscript.version} linux tgz com.ghostscript ghostscript-distribution - 8.64 + ${installer.ghostscript.version} osx tgz com.ghostscript ghostscript-distribution - 8.64 + ${installer.ghostscript.version} win32 tgz com.ghostscript ghostscript-distribution - 8.64 + ${installer.ghostscript.version} win64 tgz From e14a03055bd61fb8865c993d429c0f2518c23ea9 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 25 Aug 2015 15:30:33 +0000 Subject: [PATCH 099/670] BDE-402: Fixed Ghostscript version variable git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110835 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index 05895c1775..6eea25c3ad 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -163,21 +163,21 @@ com.ghostscript ghostscript-distribution - 8.64 + ${installer.ghostscript.version} linux tgz com.ghostscript ghostscript-distribution - 8.64 + ${installer.ghostscript.version} osx tgz com.ghostscript ghostscript-distribution - 8.64 + ${installer.ghostscript.version} win32 tgz @@ -185,7 +185,7 @@ com.ghostscript ghostscript-distribution 8.64 - win64 + ${installer.ghostscript.version} tgz From 113d57d45661e6d679e9c5d4fd273524c2f9464f Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 25 Aug 2015 16:16:44 +0000 Subject: [PATCH 100/670] BDE-402: Oops wrong xml tag git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110845 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index 6eea25c3ad..fe95c84497 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -184,8 +184,8 @@ com.ghostscript ghostscript-distribution - 8.64 - ${installer.ghostscript.version} + ${installer.ghostscript.version} + win64 tgz From 94517ada94c95b8767cbf79fbddbc04406a4d620 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 25 Aug 2015 16:22:07 +0000 Subject: [PATCH 101/670] BDE-402 Force resolution of dependencies, so that new binaries are downloaded git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110846 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/installer/pom.xml b/installer/pom.xml index fe95c84497..cbb12135e2 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -218,6 +218,13 @@ maven-dependency-plugin + + + download-dependencies + + resolve + + get-distribution prepare-package From d1b689f239c9732f4214c840a9d519feef289202 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 08:58:43 +0000 Subject: [PATCH 102/670] BDE-402: Added force download of dependencies for the enterprise installer. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110868 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 99f84075e2..0b560f53f5 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -50,6 +50,13 @@ maven-dependency-plugin + + + download-dependencies + + resolve + + get-distribution prepare-package From 8436ee8478b1c3ab765eb73e8d0284cf5e8dbb35 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 09:50:50 +0000 Subject: [PATCH 103/670] BDE-402: Upgraded ImageMagick to 6.9.1 and now pulling from Nexus instead of BINARIES git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@110877 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/pom.xml b/pom.xml index 2b58199b24..d1d02400fd 100644 --- a/pom.xml +++ b/pom.xml @@ -192,6 +192,36 @@ win64 tgz + + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + linux + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + osx + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + win32 + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + win64 + tgz + From 113178bcae68f5e935ffb3d048e5a6c824892805 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 09:51:50 +0000 Subject: [PATCH 104/670] BDE-402: Upgraded ImageMagick to 6.9.1 and now pulling from Nexus instead of BINARIES git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110878 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 30 ++++++++++++++++++++++++++++++ pom.xml | 1 + 2 files changed, 31 insertions(+) diff --git a/installer/pom.xml b/installer/pom.xml index cbb12135e2..f4088db01d 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -188,6 +188,36 @@ win64 tgz + + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + linux + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + osx + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + win32 + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + win64 + tgz + diff --git a/pom.xml b/pom.xml index 753b0adf4b..1452feebc6 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,7 @@ 9.4.4 4.2.5-alfresco 8.64 + 6.9.1 15.1.0 From ab6e2fd20ad941a48849e64bf39c78eeb70370de Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 11:20:20 +0000 Subject: [PATCH 105/670] BDE-400: New installer naming. (See JIRA issue for more information) - Changed POM versions to 2015-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110894 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 22 +++++++++++++++++++++- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 29 insertions(+), 9 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 4d58b8c84d..0a612d5274 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index e843f7db75..03679877ba 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 9f856ca615..e96d241049 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT alfresco-enterprise-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 0b560f53f5..bd9de1032a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT alfresco-enterprise-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 98cfd5f14a..60c8ce0cc4 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT alfresco-enterprise-update-package jar diff --git a/installer/pom.xml b/installer/pom.xml index f4088db01d..a12935b00f 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 1452feebc6..b7b03dc2d5 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 6 alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT pom Alfresco Full Installation @@ -33,9 +33,29 @@ 8.64 6.9.1 + + ${maven.build.timestamp} + yyyyMMdd + 15.1.0 + + SNAPSHOT + + + ${installer.build.timestamp}-${installer.build.number} + alfresco-community ${alfresco.package.name}-distribution diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 1353833cef..fe8a9338b9 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 2b87fa86ec..a1a46a989e 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-1-EA-SNAPSHOT + 2015-SNAPSHOT pom From 7f62fb4411271dacfae8f21be83578b3149b7a71 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 13:29:19 +0000 Subject: [PATCH 106/670] BDE-400: Changed finalNames for ear, distribution and update-package artifacts to reflect the new naming. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110923 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-update/pom.xml | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 0a612d5274..d02cac32a3 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -61,7 +61,7 @@ - ${project.artifactId}-${project.version} + ${project.artifactId}-${installer.version.name} maven-dependency-plugin diff --git a/ear/pom.xml b/ear/pom.xml index 03679877ba..684a5617c1 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -154,7 +154,7 @@ - alfresco-enterprise-ear-${project.version} + ${project.artifactId}-${installer.version.name} diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index e96d241049..c6255e9625 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -61,7 +61,7 @@ - ${project.artifactId}-${project.version} + ${project.artifactId}-${installer.version.name} src/main/resources diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 60c8ce0cc4..e81a1a1b9e 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -52,6 +52,7 @@ + ${project.artifactId}-${installer.version.name} maven-assembly-plugin From 228461d70d11394427f84979a0787224b8c71d67 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 14:51:27 +0000 Subject: [PATCH 107/670] BDE-400: Fixed the EAR distribution. It was using a very old distribution zip snapshot. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110955 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 6 +++--- ear/src/assembly/ear-distribution.xml | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 684a5617c1..aa344d28c0 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -206,7 +206,7 @@ alfresco-platform-enterprise-distributionzip true - alfresco-enterprise-${project.version}/solr4/,alfresco-enterprise-${project.version}/web-server/webapps/ + alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/ @@ -224,7 +224,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-enterprise-${project.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/lib @@ -243,7 +243,7 @@ src/assembly/myfaces-websphere.xml - myfaces1_1-websphere-shared-lib-${project.version} + myfaces1_1-websphere-shared-lib-${installer.version.name} false diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index f5b735b132..549f26a600 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,25 +8,25 @@ - ${project.build.directory}/dependency/alfresco-enterprise-${project.version} + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-enterprise-${project.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath - ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip + ${project.build.directory}/myfaces1_1-websphere-shared-lib-${installer.version.name}.zip - ${project.build.directory}/alfresco-enterprise-ear-${project.version}.ear - alfresco-enterprise-${project.version}.ear + ${project.build.directory}/alfresco-ear-distribution-${installer.version.name}.ear + alfresco-enterprise-${installer.version.name}.ear From 776e9b2f3a06c4d9903254bbfe672112e26d15d5 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 19:37:36 +0000 Subject: [PATCH 108/670] Fixed distribution folder for solr git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110973 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- enterprise-update/assemblies/updateTool.xml | 2 +- installer/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index bd9de1032a..662599563a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -84,7 +84,7 @@ alfresco-solr1-distribution ${alfresco.platform.version} zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/alf_data/solr + ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 3e97c11332..22fcb17693 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -13,7 +13,7 @@ - ${project.basedir}/target/update-contents-${version}.zip + ${project.basedir}/target/update-contents-${installer.version.name}.zip update diff --git a/installer/pom.xml b/installer/pom.xml index a12935b00f..453099d564 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -282,7 +282,7 @@ alfresco-solr1-distribution ${alfresco.platform.version} zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/alf_data/solr + ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr From cd753f216c8d4a932d857cd2c7f8f31896c23a17 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 26 Aug 2015 19:53:56 +0000 Subject: [PATCH 109/670] BDE-402: Upgraded LibreOffice to 4.4.5 (It works !) + Fixed update tool assembly git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110975 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 6 +++--- pom.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index e81a1a1b9e..b78b1fb0bb 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -68,7 +68,7 @@ assemblies/update.xml - update-contents-${project.version} + update-contents-${installer.version.name} @@ -112,8 +112,8 @@ false alphabetical - ${project.artifactId}-${project.version}.zip - update-contents-${project.version}.zip + ${project.artifactId}-${installer.version.name}.zip + update-contents-${installer.version.name}.zip none diff --git a/pom.xml b/pom.xml index b7b03dc2d5..1509eb36b2 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ 8.0.24-alfresco-distribution 1.8.0_51 9.4.4 - 4.2.5-alfresco + 4.4.5-alfresco 8.64 6.9.1 From d72f6b192391ee211ba8f6b3ba8dbd2e1c4d5a30 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 27 Aug 2015 05:44:54 +0000 Subject: [PATCH 110/670] BDE-402: Back to Tomcat 7.0.59 until further testing. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@110980 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1509eb36b2..d8cefe97a4 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ 5.1-20150819 - 8.0.24-alfresco-distribution + 7.0.59-alfresco-distribution 1.8.0_51 9.4.4 4.4.5-alfresco From 274892cb757a122e0bca92b72e4708e9565146c6 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 27 Aug 2015 12:48:23 +0000 Subject: [PATCH 111/670] Fix project_fullName for Alfresco Platform installer. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@111030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d1d02400fd..39e31de48d 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} - project.fullName='Alfresco One Platform ${project.version}' + project.fullName='Alfresco Platform' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From 41e843b10991fb5e0f7ddb0338c583e89e39857a Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 27 Aug 2015 15:36:39 +0000 Subject: [PATCH 112/670] Added README for Community installer and updated Enterprise README git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@111050 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 6 ++++++ distribution/src/main/resources/README.txt | 8 ++++++++ enterprise-distribution/src/main/resources/README.txt | 8 +++++--- 3 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 distribution/src/main/resources/README.txt diff --git a/distribution/pom.xml b/distribution/pom.xml index d02cac32a3..a4e4529c80 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -62,6 +62,12 @@ ${project.artifactId}-${installer.version.name} + + + src/main/resources + true + + maven-dependency-plugin diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt new file mode 100644 index 0000000000..f900d1e675 --- /dev/null +++ b/distribution/src/main/resources/README.txt @@ -0,0 +1,8 @@ +Alfresco Community Edition (Build: ${installer.version.name}) +=============================== + +Contains: + - Alfresco Platform: ${alfresco.platform.version} + - Alfresco Share: ${alfresco.share.version} + +Please refer to the Alfresco wiki for more information on this release. diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index 5328a74a41..752ca5a712 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -1,8 +1,10 @@ -Alfresco Enterprise Edition ${project.version} +Alfresco One (Build: ${installer.version.name}) =============================== -For Enterprise subscribers, refer to http://support.alfresco.com for release notes and detailed information on this release. +Contains: + - Alfresco Platform: ${alfresco.platform.version} + - Alfresco Share: ${alfresco.share.version} -For Community members, refer to the Alfresco wiki for more information on this release. +Please refer to http://support.alfresco.com for release notes and detailed information on this release. From d550911aec12d3c22cbc44c42c8886f9e3c82d80 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 27 Aug 2015 17:10:48 +0000 Subject: [PATCH 113/670] =?UTF-8?q?BDE-400:=20Updated=20naming=20conventio?= =?UTF-8?q?n=20after=20feedback=20from=20Richard.=20-=20Fixed=20ghostscrip?= =?UTF-8?q?t=20on=20windows=20platforms=20-=20Added=20new=20string=20for?= =?UTF-8?q?=20install=20dir=20(For=20some=20reason=20it=20doesn=E2=80=99t?= =?UTF-8?q?=20work=20on=20windows=20yet)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@111054 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 39e31de48d..03c6ba0cb3 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,7 @@ project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=enterprise + alfresco_package='${alfresco.package.name}' alfrescogoogledocs_component_enabled=0 alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=0 From fc2c390be42f01527c5e7140e4f342bc778cfcd3 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 27 Aug 2015 17:10:53 +0000 Subject: [PATCH 114/670] =?UTF-8?q?BDE-400:=20Updated=20naming=20conventio?= =?UTF-8?q?n=20after=20feedback=20from=20Richard.=20-=20Fixed=20alfresco-s?= =?UTF-8?q?hare-services.amp=20distribution=20-=20Added=20new=20string=20f?= =?UTF-8?q?or=20install=20dir=20(For=20some=20reason=20it=20doesn=E2=80=99?= =?UTF-8?q?t=20work=20on=20windows=20yet)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@111056 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/assembly/full-distribution.xml | 10 ++-------- enterprise-installer/pom.xml | 1 + installer/pom.xml | 1 + pom.xml | 4 ++-- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index 969433ca26..c9bf92d680 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -40,16 +40,10 @@ web-server/** - modules/** + modules/** + amps/** - - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} - - *.amp - - amps - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples web-server/shared/classes/alfresco/web-extension diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 662599563a..10c9b9ded0 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -23,6 +23,7 @@ project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=enterprise + alfresco_package='${alfresco.package.name}' alfrescogoogledocs_component_enabled=1 alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=1 diff --git a/installer/pom.xml b/installer/pom.xml index 453099d564..f2ccefd836 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -23,6 +23,7 @@ project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=community + alfresco_package='${alfresco.package.name}' project.outputDirectory=${project.build.directory} diff --git a/pom.xml b/pom.xml index d8cefe97a4..ceba55e424 100644 --- a/pom.xml +++ b/pom.xml @@ -42,9 +42,9 @@ - SNAPSHOT + SNAPSHOT-0 ${installer.build.timestamp}-${installer.build.number} @@ -84,6 +80,19 @@ enterprise-installer + + release + + yyyyMM + + ${installer.build.timestamp}${release.availability} + + From 19efb3b7bb3415098ecee6bb30aa22edf10c41fd Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 29 Sep 2015 15:02:55 +0000 Subject: [PATCH 123/670] ACE-4312: Fixed missing web-extension folder in the EAR Distribution + Removed unnecessary modules/platform folder. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@113363 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 31 +++++++++++++++++++++++++-- ear/src/assembly/ear-distribution.xml | 4 ++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 296e667959..78d2d03abf 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -65,6 +65,19 @@ + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + provided + + + * + * + + + @@ -198,7 +211,7 @@ maven-dependency-plugin - unpack-distribution + unpack-platform-distribution prepare-package unpack-dependencies @@ -206,7 +219,21 @@ alfresco-platform-enterprise-distributionzip true - alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/ + alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/modules/ + + + + + unpack-share-distribution + prepare-package + + unpack-dependencies + + + alfresco-share-distribution + true + * + alfresco-share-distribution-${alfresco.share.version}/web-extension-samples/ diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 549f26a600..5e5e9ead3f 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -18,6 +18,10 @@ ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath + + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples + web-server/classpath/alfresco/web-extension + From 0e64f6a088c933be6a002f818a78e16768c5ccf0 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 30 Sep 2015 13:48:17 +0000 Subject: [PATCH 124/670] ACE-4335: Added missing enterprise classifier for GoogleDocs integration artifacts. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@113466 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index f28920e57b..53c6ee66e7 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -127,12 +127,14 @@ org.alfresco.integrations alfresco-googledocs-repo ${alfresco.googledocs.version} + enterprise amp org.alfresco.integrations alfresco-googledocs-share ${alfresco.googledocs.version} + enterprise amp From 9a367eb61b319f83f4f6d359f5f5991155872c04 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 7 Oct 2015 08:25:26 +0000 Subject: [PATCH 125/670] ACE-4276: Upgraded Installbuilder to 15.9.0 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@113812 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 03c6ba0cb3..4d00cfb689 100644 --- a/pom.xml +++ b/pom.xml @@ -239,6 +239,13 @@ osx tgz + + com.bitnami + installbuilder + ${installer.installbuilder.version} + win + tgz + From 325a11206bddcc0b1f9bfd3cf7b0f124ba6bcd8d Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 7 Oct 2015 08:26:21 +0000 Subject: [PATCH 126/670] ACE-4276: Upgraded Installbuilder to 15.9.0 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@113813 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c4967eea2c..0f0b5b9424 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ yyyyMMdd - 15.1.0 + 15.9.0 + + org.alfresco + alfresco-spp + ${alfresco.platform.version} + amp + alfresco-spp.amp + From 07fef3cab5f90d815d272b4783c7c37b9c0a8e7c Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 26 Oct 2015 14:54:53 +0000 Subject: [PATCH 129/670] ACE-4494: Updated Java to 1.8.0_65 to fix the following vulnerabilities: - CVE-2015-4868 - CVE-2015-4803 - CVE-2015-4893 - CVE-2015-4911 - CVE-2015-4872 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@115174 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0f0b5b9424..42d67a6d6f 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ 5.1-20150819 7.0.59-alfresco-distribution - 1.8.0_51 + 1.8.0_65 9.4.4 4.4.5-alfresco 8.64 From eae010659e96616de176aa07ad401eb34a3db5d6 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 2 Nov 2015 15:13:13 +0000 Subject: [PATCH 130/670] ACE-4547: Clean up and updated consistency of the README files. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@115782 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/main/resources/README.txt | 6 +++--- enterprise-distribution/src/main/resources/README.txt | 8 +++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index f900d1e675..0d618a0af3 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -1,8 +1,8 @@ -Alfresco Community Edition (Build: ${installer.version.name}) +Alfresco One Community (Build: ${installer.version.name}) =============================== Contains: - Alfresco Platform: ${alfresco.platform.version} - - Alfresco Share: ${alfresco.share.version} + - Alfresco Share: ${alfresco.share.version} -Please refer to the Alfresco wiki for more information on this release. +See the Alfresco Wiki (https://wiki.alfresco.com) for release notes and detailed information on this release. diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index 752ca5a712..cb39ec8adc 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -1,10 +1,8 @@ -Alfresco One (Build: ${installer.version.name}) +Alfresco One Enterprise (Build: ${installer.version.name}) =============================== Contains: - Alfresco Platform: ${alfresco.platform.version} - - Alfresco Share: ${alfresco.share.version} - -Please refer to http://support.alfresco.com for release notes and detailed information on this release. - + - Alfresco Share: ${alfresco.share.version} +See the Alfresco Support Portal (http://support.alfresco.com) for release notes and detailed information on this release. From 102e6bba7cea4af73a1c1ab4a8752b2b1b182816 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 4 Nov 2015 16:55:25 +0000 Subject: [PATCH 131/670] ACE-4561: Release Agility: Updates to the installer - Alfresco One Enterprise git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@116121 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 53c6ee66e7..505e61f34e 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco One' + project.fullName='Alfresco One Enterprise' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 @@ -32,7 +32,7 @@ - alfresco-enterprise + alfresco-one-enterprise ${alfresco.package.name}-distribution From 59e1b48735ba7b3407b3af3410933637f2f69265 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 4 Nov 2015 21:46:02 +0000 Subject: [PATCH 132/670] ACE-4561: Release Agility: Updates to the installer - Distribution zip name remains the same as before. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@116128 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 505e61f34e..d0baf5baaf 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -33,7 +33,7 @@ alfresco-one-enterprise - ${alfresco.package.name}-distribution + alfresco-enterprise-distribution From 2600f5b9fba6cc9e0db65c7aa576af4e62474886 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 10 Nov 2015 12:03:46 +0000 Subject: [PATCH 133/670] ACE-4561 Change names of the installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@116897 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index d0baf5baaf..cd38827abf 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco One Enterprise' + project.fullName='Alfresco One Full' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From 5816525c5753acaaadcebadf379626f3136764f0 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 10 Nov 2015 12:03:46 +0000 Subject: [PATCH 134/670] ACE-4561 Change names of the installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@116897 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4d00cfb689..40afbe368c 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} - project.fullName='Alfresco Platform' + project.fullName='Alfresco One Platform' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From e1838ba6dc863ddcc22cd87c6e7603c2fb1143b7 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 10 Nov 2015 12:30:00 +0000 Subject: [PATCH 135/670] ACE-4561 Change names of the full installer to Alfresco One git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@116911 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index cd38827abf..f33c5a111a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco One Full' + project.fullName='Alfresco One' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From 1a201a6ca89f85136444d3cb69c2c10a2e3a92fd Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 10 Nov 2015 13:20:16 +0000 Subject: [PATCH 136/670] ACE-4561 Change installer file names git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@116989 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index f33c5a111a..f9668dbef6 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -32,7 +32,7 @@ - alfresco-one-enterprise + alfresco-one alfresco-enterprise-distribution From 022a24c5eaf5672c26ab83e44388f1d52b0c8d91 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 10 Nov 2015 18:52:39 +0000 Subject: [PATCH 137/670] ACE-4561 Change name and top folder of the distribution zip git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@117149 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 8 ++++---- ear/src/assembly/ear-distribution.xml | 6 +++--- enterprise-distribution/pom.xml | 6 +++--- enterprise-installer/pom.xml | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 78d2d03abf..87094da170 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -54,7 +54,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip provided @@ -217,9 +217,9 @@ unpack-dependencies - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip true - alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/modules/ + alfresco-one-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/modules/ @@ -251,7 +251,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/lib diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 5e5e9ead3f..35732d8b91 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,14 +8,14 @@ - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath @@ -30,7 +30,7 @@ ${project.build.directory}/alfresco-ear-distribution-${installer.version.name}.ear - alfresco-enterprise-${installer.version.name}.ear + alfresco-one-${installer.version.name}.ear diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index c6255e9625..b9a3d28c25 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 2015-SNAPSHOT - alfresco-enterprise-distribution + alfresco-one-distribution jar Alfresco Full Distribution (Enterprise Edition) @@ -20,7 +20,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip @@ -82,7 +82,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index f9668dbef6..fc7320c521 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 2015-SNAPSHOT - alfresco-enterprise-installer + alfresco-one-installer pom Alfresco Enterprise Full Installers @@ -33,7 +33,7 @@ alfresco-one - alfresco-enterprise-distribution + alfresco-one-distribution @@ -74,7 +74,7 @@ org.alfresco - alfresco-enterprise-distribution + alfresco-one-distribution ${project.version} zip ${project.build.directory}/distribution From e2dba8ec316f036be7d2b87a2142bc60808ff2eb Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 10 Nov 2015 18:52:39 +0000 Subject: [PATCH 138/670] ACE-4561 Change name and top folder of the distribution zip git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@117149 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 40afbe368c..6262fa2951 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ alfresco-enterprise-packaging 5.1-SNAPSHOT - alfresco-platform-enterprise-installer + alfresco-one-platform-installer pom Alfresco Platform Enterprise Installers @@ -269,7 +269,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${project.version} zip ${project.build.directory}/distribution From 62d44d4e661acf49243bfc4b1e5c8a7ccaf012cc Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 11 Nov 2015 10:23:16 +0000 Subject: [PATCH 139/670] ACE-4561 Fix Alfresco One Distribution missing alfresco.war after name change git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@117190 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 1 - distribution/src/assembly/full-distribution.xml | 10 ++++++++-- enterprise-distribution/pom.xml | 1 - 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index a4e4529c80..13cc319172 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -13,7 +13,6 @@ 8080 - community diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index c9bf92d680..a432329af8 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -12,9 +12,15 @@ - + - ${project.build.directory}/dependency/alfresco-platform-${alfresco.platform.edition}-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-platform-community-distributionzip-${alfresco.platform.version} + + + + + + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index b9a3d28c25..6aa0bfe346 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -13,7 +13,6 @@ 8080 - enterprise From 746a24d6e51d49a14bdac81dfa2660587a379b09 Mon Sep 17 00:00:00 2001 From: Tatyana Valkevych Date: Wed, 11 Nov 2015 13:55:20 +0000 Subject: [PATCH 140/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 116897 slanglois: ACE-4561 Change names of the installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@117265 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ea0d2a0bca..4fde2c5bb7 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} - project.fullName='Alfresco Platform' + project.fullName='Alfresco One Platform' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From 7660945bf5c643368e42e602aa44b2e0f125e8dc Mon Sep 17 00:00:00 2001 From: Tatyana Valkevych Date: Wed, 11 Nov 2015 13:56:10 +0000 Subject: [PATCH 141/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 117149 slanglois: ACE-4561 Change name and top folder of the distribution zip git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@117267 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 4fde2c5bb7..d9a967a06f 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ alfresco-enterprise-packaging 5.1.1-SNAPSHOT - alfresco-platform-enterprise-installer + alfresco-one-platform-installer pom Alfresco Platform Enterprise Installers @@ -269,7 +269,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${project.version} zip ${project.build.directory}/distribution From d9cbe922adcb3420bebd4c4e8a2440a705618c4f Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 11 Nov 2015 14:11:52 +0000 Subject: [PATCH 142/670] ACE-4561 Fix names of installers in README files too git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@117285 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/main/resources/README.txt | 2 +- enterprise-distribution/src/main/resources/README.txt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 0d618a0af3..517e56f94d 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -1,4 +1,4 @@ -Alfresco One Community (Build: ${installer.version.name}) +Alfresco Community (Build: ${installer.version.name}) =============================== Contains: diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index cb39ec8adc..7091aa83ca 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -1,8 +1,8 @@ -Alfresco One Enterprise (Build: ${installer.version.name}) +Alfresco One (Build: ${installer.version.name}) =============================== Contains: - - Alfresco Platform: ${alfresco.platform.version} - - Alfresco Share: ${alfresco.share.version} + - Alfresco One Platform: ${alfresco.platform.version} + - Alfresco One Share: ${alfresco.share.version} See the Alfresco Support Portal (http://support.alfresco.com) for release notes and detailed information on this release. From 998a925bb77924bf4e9e52efa3c1ebb73d43bea6 Mon Sep 17 00:00:00 2001 From: Bogdan Horje Date: Thu, 12 Nov 2015 19:35:08 +0000 Subject: [PATCH 143/670] CM-690 extensions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@117490 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 4cb4ddee83..a328e7fb5c 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -67,3 +67,5 @@ index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ +### Virtual Folders Config Properties ### +virtual.folders.enabled=true \ No newline at end of file From 606d2547a06adf04f8d947d5dd6d66e15e267934 Mon Sep 17 00:00:00 2001 From: Bogdan Horje Date: Fri, 13 Nov 2015 12:47:13 +0000 Subject: [PATCH 144/670] CM-690 virtualization is disabled by default - virtualization integration tests and the integration tests suite run with vf enabled git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@117531 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index a328e7fb5c..e541e43e8a 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -68,4 +68,4 @@ dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ ### Virtual Folders Config Properties ### -virtual.folders.enabled=true \ No newline at end of file +virtual.folders.enabled=false \ No newline at end of file From cd140fd97f3a74a083742ceeb702183a9671f778 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 14 Nov 2015 13:37:31 +0000 Subject: [PATCH 145/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 117490 bhorje: CM-690 extensions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@117574 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 4cb4ddee83..a328e7fb5c 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -67,3 +67,5 @@ index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ +### Virtual Folders Config Properties ### +virtual.folders.enabled=true \ No newline at end of file From cfbc45fe329ffbb49f278fae1d6305db6baf89f3 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 14 Nov 2015 13:38:20 +0000 Subject: [PATCH 146/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 117531 bhorje: CM-690 virtualization is disabled by default - virtualization integration tests and the integration tests suite run with vf enabled git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@117577 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index a328e7fb5c..e541e43e8a 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -68,4 +68,4 @@ dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ ### Virtual Folders Config Properties ### -virtual.folders.enabled=true \ No newline at end of file +virtual.folders.enabled=false \ No newline at end of file From 9ff85cd59e891b79f7f625f449566fabeb5948d6 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 16 Nov 2015 14:05:07 +0000 Subject: [PATCH 147/670] Merged JPHUYNH/BDE-443 (5.1.0) to HEAD (5.1) 117183 adavis: BDE-443 Check whether we can buy licenses for the GPL components we ship - Remove Pdf2Swf specific transformer config from transformers.properties and spring context.xml - Remove references to Pdf2Swf and swftools from License notes, pom files, admin ui, admin ui English property values (translations still exist) and some obvious unit tests. - Note: SWFTransformationOptions has been left as it is used in tests. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@117632 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index e541e43e8a..f70717e112 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -46,8 +46,6 @@ ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ ooo.enabled=false ooo.port=@@BITROCK_LO_PORT@@ @@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ -swf.exe=@@BITROCK_PDF2SWF_PATH@@ -swf.languagedir=@@BITROCK_PDF2SWF_LANGUAGEDIR@@ jodconverter.enabled=true jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ From 55fac700152c7bc8e5e297cbbf097b5725e858e5 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 16 Nov 2015 14:09:25 +0000 Subject: [PATCH 148/670] Merged BDE-443 (5.1.0) to trunk (2015.0) 114665 jphuynh: Updated: - installer.common.version=5.1-20151016 - installer.postgresql.version=9.4.4-20151016 - installer.libreoffice.version=4.4.5-20151016 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@117634 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 42d67a6d6f..ba5893a121 100644 --- a/pom.xml +++ b/pom.xml @@ -25,11 +25,11 @@ 1.0-SNAPSHOT - 5.1-20150819 + 5.1-20151016 7.0.59-alfresco-distribution 1.8.0_65 - 9.4.4 - 4.4.5-alfresco + 9.4.4-20151016 + 4.4.5-20151016 8.64 6.9.1 From e974678a42a233c3e7628e4e1e5d894aeacf8c5c Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 16 Nov 2015 14:09:47 +0000 Subject: [PATCH 149/670] =?UTF-8?q?Merged=20BDE-443=20(5.1.0)=20to=20trunk?= =?UTF-8?q?=20(2015.0)=20=20=20=20114671=20jphuynh:=20Ok=20small=20hack=20?= =?UTF-8?q?because=20we=20don=E2=80=99t=20care=20about=20this=20version=20?= =?UTF-8?q?of=20the=20pom=20for=20share-po?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@117635 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 46bbd5583103ae3bf78850647e4c45202cd72a03 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 16 Nov 2015 14:10:10 +0000 Subject: [PATCH 150/670] Merged BDE-443 (5.1.0) to trunk (2015.0) (RECORD ONLY) : - 115073 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@117636 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 24bdbea6bd02e47b45914ea4e48d9f901f95536a Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 18 Nov 2015 14:15:16 +0000 Subject: [PATCH 151/670] ACE-4675: Upgraded common package to fix CVE-2015-8126 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@117929 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ba5893a121..d1f60611f3 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.0-SNAPSHOT - 5.1-20151016 + 5.1-20151118 7.0.59-alfresco-distribution 1.8.0_65 9.4.4-20151016 From 75be3cfeb0def3c9b06dfa372efdb82b33bb7edb Mon Sep 17 00:00:00 2001 From: Natalia Smintanca Date: Thu, 19 Nov 2015 09:33:36 +0000 Subject: [PATCH 152/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 117632 jphuynh: Merged JPHUYNH/BDE-443 (5.1.0) to HEAD (5.1) 117183 adavis: BDE-443 Check whether we can buy licenses for the GPL components we ship - Remove Pdf2Swf specific transformer config from transformers.properties and spring context.xml - Remove references to Pdf2Swf and swftools from License notes, pom files, admin ui, admin ui English property values (translations still exist) and some obvious unit tests. - Note: SWFTransformationOptions has been left as it is used in tests. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@117993 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index e541e43e8a..f70717e112 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -46,8 +46,6 @@ ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ ooo.enabled=false ooo.port=@@BITROCK_LO_PORT@@ @@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ -swf.exe=@@BITROCK_PDF2SWF_PATH@@ -swf.languagedir=@@BITROCK_PDF2SWF_LANGUAGEDIR@@ jodconverter.enabled=true jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ From cb63368929fafe91559eb611e25f897cd4874a9f Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 19 Nov 2015 12:09:54 +0000 Subject: [PATCH 153/670] ACE-4600: Upgraded to InstallBuilder 15.10.1 (Custom) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@118074 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d1f60611f3..96b645af23 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ yyyyMMdd - 15.9.0 + 15.10.1 - - maven-resources-plugin - - - override-local-resources - prepare-package - - resources - - - ${project.build.directory} - true - - properties - - - - - - maven-antrun-plugin From 738c574f41fa7d70cd58738926f65782bdc0bdc1 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 2 Dec 2015 19:15:06 +0000 Subject: [PATCH 155/670] ACE-4799: Updated the enterprise installer project to use alfresco-one-installer-resources instead of alfresco-installer-resources. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@119502 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 23 +----- .../shared/alfresco-global.properties | 71 ------------------- 2 files changed, 1 insertion(+), 93 deletions(-) delete mode 100644 enterprise-installer/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index fc7320c521..a6cc5af22f 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -68,7 +68,7 @@ org.alfresco - alfresco-installer-resources + alfresco-one-installer-resources ${alfresco.platform.version} ${project.build.directory}/classes @@ -143,27 +143,6 @@ - - - maven-resources-plugin - - - override-local-resources - prepare-package - - resources - - - ${project.build.directory} - true - - properties - - - - - - maven-antrun-plugin diff --git a/enterprise-installer/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/enterprise-installer/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties deleted file mode 100644 index 62dfffac2c..0000000000 --- a/enterprise-installer/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ /dev/null @@ -1,71 +0,0 @@ - -############################### -## Common Alfresco Properties # -## Enterprise overlay # -############################### - -dir.root=@@BITROCK_DATA_DIR@@ - -alfresco.context=alfresco -alfresco.host=@@BITROCK_TOMCAT_HOST@@ -alfresco.port=@@BITROCK_TOMCAT_PORT@@ -alfresco.protocol=http - -share.context=share -share.host=@@BITROCK_TOMCAT_HOST@@ -share.port=@@BITROCK_TOMCAT_PORT@@ -share.protocol=http - -### database connection properties ### -db.driver=org.postgresql.Driver -db.username=@@BITROCK_DB_USER@@ -db.password=@@BITROCK_DB_PASSWORD@@ -#To use encrypted properties for the database uncomment the following line -# the encrypted value is added into alfresco-encrypted.properties -#db.password=${db.password.enc} -#db.username=${db.username.enc} -db.name=@@BITROCK_DB_NAME@@ -db.url=jdbc:postgresql://localhost:@@BITROCK_POSTGRESQL_PORT@@/${db.name} -# Note: your database must also be able to accept at least this many connections. Please see your database documentation for instructions on how to configure this. -db.pool.max=275 -db.pool.validate.query=@@BITROCK_DB_VALIDATE_QUERY@@ - -# The server mode. Set value here -# UNKNOWN | TEST | BACKUP | PRODUCTION -system.serverMode=UNKNOWN - -### FTP Server Configuration ### -ftp.port=@@BITROCK_FTP_PORT@@ - -### RMI registry port for JMX ### -alfresco.rmi.services.port=@@BITROCK_RMI_PORT@@ -monitor.rmi.service.port=0 - -### External executable locations ### -ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ -ooo.enabled=false -ooo.port=@@BITROCK_LO_PORT@@ -@@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ -swf.exe=@@BITROCK_PDF2SWF_PATH@@ -swf.languagedir=@@BITROCK_PDF2SWF_LANGUAGEDIR@@ - -jodconverter.enabled=true -jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ -jodconverter.portNumbers=@@BITROCK_LO_PORT@@ - -### Initial admin password ### -alfresco_user_store.adminpassword=@@BITROCK_ALFRESCO_ADMIN_PASSWORD@@ - -### E-mail site invitation setting ### -notification.email.siteinvite=false - -### License location ### -dir.license.external=@@BITROCK_ALFRESCO_LICENSE_DIR@@ - -### Solr indexing ### -index.subsystem.name=solr4 -dir.keystore=${dir.root}/keystore -solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ - -### BPM Engine ### -system.workflow.engine.jbpm.enabled=false From 02e36ee83169a651180e8a104b4f05968981a8fa Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Fri, 4 Dec 2015 09:12:04 +0000 Subject: [PATCH 156/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 119501 jphuynh: ACE-4799: Created an alfresco-one-installer-resources jar equivalent to the community version but with the correct alfresco-global.properties. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@119615 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/pom.xml b/pom.xml index d9a967a06f..4702a3e90e 100644 --- a/pom.xml +++ b/pom.xml @@ -6,9 +6,9 @@ alfresco-enterprise-packaging 5.1.1-SNAPSHOT - alfresco-one-platform-installer - pom - Alfresco Platform Enterprise Installers + alfresco-one-installer-resources + jar + Alfresco One Installer Resources + Platform Installers ${user.home}/binaries @@ -249,6 +249,12 @@ + + + src/main/resources + false + + maven-dependency-plugin @@ -266,6 +272,7 @@ alfresco-installer-resources ${project.version} ${project.build.directory}/classes + bitrock/bitrock/alfresco/shared/alfresco-global.properties org.alfresco @@ -296,27 +303,6 @@ - - - maven-resources-plugin - - - override-local-resources - prepare-package - - resources - - - ${project.build.directory} - true - - properties - - - - - - maven-antrun-plugin From 67463715a748569eb08d9bafd796ff4a432b6340 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 10 Dec 2015 10:30:16 +0000 Subject: [PATCH 157/670] Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119417 skopf: Merged AOS-SEPARATION (5.1.0) to 5.1-MC1 (5.1.0) 114976 skopf: ALF-21405 - AOS should be an optional removable module: BDE-415 - Include AOS module in installer: Added sharepoint-masquerade to platform installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@119933 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pom.xml b/pom.xml index 634718fc05..5ade082c53 100644 --- a/pom.xml +++ b/pom.xml @@ -300,6 +300,30 @@ + + get-sharepoint-masquerade + prepare-package + + copy + + + + + org.alfresco.sharepoint-masquerade + alfresco-sharepoint-masquerade + ${alfresco.sharepoint-masquerade.version} + amp + + + org.alfresco.sharepoint-masquerade + alfresco-vti-bin + ${alfresco.sharepoint-masquerade.version} + _vti_bin.war + war + + + + From 42efbe70a2c7d2d538a92d7a9dbcc93deb983157 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 10 Dec 2015 10:31:30 +0000 Subject: [PATCH 158/670] Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119423 skopf: Merged AOS-SEPARATION (5.1.0) to 5.1-MC1 (5.1.0) 115135 skopf: ALF-21405 - AOS should be an optional removable module: BDE-415 - Include AOS module in installer: Get sharepoint-masquerade from alfresco-sharepoint-masquerade-distributionzip instead of individually from repository and local files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@119937 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 5ade082c53..d7eac0cdb0 100644 --- a/pom.xml +++ b/pom.xml @@ -297,29 +297,12 @@ ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/web-server/webapps solr4.war - - - - - get-sharepoint-masquerade - prepare-package - - copy - - - org.alfresco.sharepoint-masquerade - alfresco-sharepoint-masquerade + alfresco-sharepoint-masquerade-distributionzip ${alfresco.sharepoint-masquerade.version} - amp - - - org.alfresco.sharepoint-masquerade - alfresco-vti-bin - ${alfresco.sharepoint-masquerade.version} - _vti_bin.war - war + zip + ${project.build.directory}/distribution/sharepoint-masquerade From 5e3dce255fd1226bde028483a5e9b667e81b2baf Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 10 Dec 2015 10:32:56 +0000 Subject: [PATCH 159/670] Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119426 skopf: Merged AOS-SEPARATION (5.1.0) to 5.1-MC1 (5.1.0) 115153 skopf: ALF-21405 - AOS should be an optional removable module: BDE-415 - Include AOS module in installer: Remove old "SharePoint" component git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@119938 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index d7eac0cdb0..11beb9dcbf 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,6 @@ alfresco_edition=enterprise alfresco_package='${alfresco.package.name}' alfrescogoogledocs_component_enabled=0 - alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=0 alfrescowcmqs_component_enabled=0 From aa779d2c0c54358cbc76b66de3fdec0e6546d8a5 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 10 Dec 2015 10:33:38 +0000 Subject: [PATCH 160/670] Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119465 skopf: DOCS-1396 - Text review for installer Renamed "Sharepoint Masquerade" to "SharePoint Immitation" git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@119941 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 11beb9dcbf..8fbb57f675 100644 --- a/pom.xml +++ b/pom.xml @@ -297,11 +297,11 @@ solr4.war - org.alfresco.sharepoint-masquerade - alfresco-sharepoint-masquerade-distributionzip - ${alfresco.sharepoint-masquerade.version} + org.alfresco.sharepoint-imitation + alfresco-sharepoint-imitation-distributionzip + ${alfresco.sharepoint-imitation.version} zip - ${project.build.directory}/distribution/sharepoint-masquerade + ${project.build.directory}/distribution/sharepoint-imitation From abc8d81ca58bf0ef4c3fb732598715b59c73a98d Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Thu, 10 Dec 2015 14:00:45 +0000 Subject: [PATCH 161/670] Merged 5.1-MC1 (5.1.0) to trunk (2015.0) 119572 skopf: Merged r115159 from AOS-SEPARATION to 5.1MC1: ALF-21405 - AOS should be an optional removable module: BDE-415 - Include AOS module in installer: git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@120030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 12 ------------ enterprise-installer/pom.xml | 9 ++++++++- installer/pom.xml | 8 ++++++++ pom.xml | 3 +++ 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 87094da170..256a05c919 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -36,13 +36,6 @@ ${alfresco.share.version} war - - - org.alfresco - alfresco-enterprise-vti-bin - ${alfresco.platform.version} - war - org.alfresco alfresco-server-root @@ -193,11 +186,6 @@ share share.war - - org.alfresco - alfresco-enterprise-vti-bin - _vti_bin.war - org.alfresco alfresco-server-root diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index a6cc5af22f..4d697b9b2a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -25,7 +25,6 @@ alfresco_edition=enterprise alfresco_package='${alfresco.package.name}' alfrescogoogledocs_component_enabled=1 - alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=1 alfrescowcmqs_component_enabled=1 project.outputDirectory=${project.build.directory} @@ -112,6 +111,14 @@ ${project.build.directory}/wcmqs alfresco/extension/** + + + org.alfresco.sharepoint-imitation + alfresco-sharepoint-imitation-distributionzip + ${alfresco.sharepoint-imitation.version} + zip + ${project.build.directory}/distribution/sharepoint-imitation + diff --git a/installer/pom.xml b/installer/pom.xml index 8e0e01894b..df9be893d6 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -310,6 +310,14 @@ ${project.build.directory}/wcmqs alfresco/extension/** + + + org.alfresco.sharepoint-imitation + alfresco-sharepoint-imitation-distributionzip + ${alfresco.sharepoint-imitation.version} + zip + ${project.build.directory}/distribution/sharepoint-imitation + diff --git a/pom.xml b/pom.xml index 96b645af23..ff5312776d 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,9 @@ 1.0-SNAPSHOT + + + 1.0-SNAPSHOT 5.1-20151118 From 212cbc501216ec32bc1ae6e624c234cf5fbbcca7 Mon Sep 17 00:00:00 2001 From: Andreea Dragoi Date: Tue, 15 Dec 2015 13:16:25 +0000 Subject: [PATCH 162/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 119933 jphuynh: Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119417 skopf: Merged AOS-SEPARATION (5.1.0) to 5.1-MC1 (5.1.0) 114976 skopf: ALF-21405 - AOS should be an optional removable module: BDE-415 - Include AOS module in installer: Added sharepoint-masquerade to platform installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@120183 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pom.xml b/pom.xml index 4702a3e90e..ad1cb57da3 100644 --- a/pom.xml +++ b/pom.xml @@ -300,6 +300,30 @@ + + get-sharepoint-masquerade + prepare-package + + copy + + + + + org.alfresco.sharepoint-masquerade + alfresco-sharepoint-masquerade + ${alfresco.sharepoint-masquerade.version} + amp + + + org.alfresco.sharepoint-masquerade + alfresco-vti-bin + ${alfresco.sharepoint-masquerade.version} + _vti_bin.war + war + + + + From b36944baaa5c1c20f87a0e13dc019b11126cfd4d Mon Sep 17 00:00:00 2001 From: Andreea Dragoi Date: Tue, 15 Dec 2015 13:18:23 +0000 Subject: [PATCH 163/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 119937 jphuynh: Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119423 skopf: Merged AOS-SEPARATION (5.1.0) to 5.1-MC1 (5.1.0) 115135 skopf: ALF-21405 - AOS should be an optional removable module: BDE-415 - Include AOS module in installer: Get sharepoint-masquerade from alfresco-sharepoint-masquerade-distributionzip instead of individually from repository and local files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@120187 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index ad1cb57da3..7eb30a724d 100644 --- a/pom.xml +++ b/pom.xml @@ -297,29 +297,12 @@ ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/web-server/webapps solr4.war - - - - - get-sharepoint-masquerade - prepare-package - - copy - - - org.alfresco.sharepoint-masquerade - alfresco-sharepoint-masquerade + alfresco-sharepoint-masquerade-distributionzip ${alfresco.sharepoint-masquerade.version} - amp - - - org.alfresco.sharepoint-masquerade - alfresco-vti-bin - ${alfresco.sharepoint-masquerade.version} - _vti_bin.war - war + zip + ${project.build.directory}/distribution/sharepoint-masquerade From 550447b6a8b90a1035d456ffdfc0bab691c5a16d Mon Sep 17 00:00:00 2001 From: Andreea Dragoi Date: Tue, 15 Dec 2015 13:19:13 +0000 Subject: [PATCH 164/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 119938 jphuynh: Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119426 skopf: Merged AOS-SEPARATION (5.1.0) to 5.1-MC1 (5.1.0) 115153 skopf: ALF-21405 - AOS should be an optional removable module: BDE-415 - Include AOS module in installer: Remove old "SharePoint" component git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@120188 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7eb30a724d..29ba5e00c3 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,6 @@ alfresco_edition=enterprise alfresco_package='${alfresco.package.name}' alfrescogoogledocs_component_enabled=0 - alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=0 alfrescowcmqs_component_enabled=0 From 5ee7d8146ecaf0d5b678da031cd6232352c03895 Mon Sep 17 00:00:00 2001 From: Andreea Dragoi Date: Tue, 15 Dec 2015 13:20:23 +0000 Subject: [PATCH 165/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 119941 jphuynh: Merged 5.1-MC1 (5.1.0) to HEAD (5.1) 119465 skopf: DOCS-1396 - Text review for installer Renamed "Sharepoint Masquerade" to "SharePoint Immitation" git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@120190 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 29ba5e00c3..894c85c2ad 100644 --- a/pom.xml +++ b/pom.xml @@ -297,11 +297,11 @@ solr4.war - org.alfresco.sharepoint-masquerade - alfresco-sharepoint-masquerade-distributionzip - ${alfresco.sharepoint-masquerade.version} + org.alfresco.sharepoint-imitation + alfresco-sharepoint-imitation-distributionzip + ${alfresco.sharepoint-imitation.version} zip - ${project.build.directory}/distribution/sharepoint-masquerade + ${project.build.directory}/distribution/sharepoint-imitation From da218271c3599c20362f6fb839830a89058c3347 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 6 Jan 2016 17:54:13 +0000 Subject: [PATCH 166/670] ACE-4902 Use release 1.0 of Sharepoint Imitation git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@120546 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ff5312776d..6d9c3835b8 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.0-SNAPSHOT - 1.0-SNAPSHOT + 1.0 5.1-20151118 From ae80993f30496928c9702d5242587486dcb34b63 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 15 Jan 2016 17:30:29 +0000 Subject: [PATCH 167/670] ACE-5002 Upgrade GoogleDocs in installer to 3.0.3 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@120960 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6d9c3835b8..64ab770a83 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.1-SNAPSHOT - 3.0.2 + 3.0.3 1.0-SNAPSHOT From d547f293f27c4d88d636672b0643d327daf446bd Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Tue, 19 Jan 2016 13:44:32 +0000 Subject: [PATCH 168/670] ACE-5003: Removed access to JMX remotely by default (Part2). git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@121078 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/alfresco/shared/alfresco-global.properties | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index f70717e112..61d9d1e7d8 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -66,4 +66,7 @@ dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ ### Virtual Folders Config Properties ### -virtual.folders.enabled=false \ No newline at end of file +virtual.folders.enabled=false + +### Remote JMX (Default: disabled) ### +alfresco.jmx.connector.enabled=false \ No newline at end of file From d31800c42b8756dbd804f51586c7dd1635237b4b Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Wed, 20 Jan 2016 09:57:53 +0000 Subject: [PATCH 169/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 121078 jphuynh: ACE-5003: Removed access to JMX remotely by default (Part2). git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@121142 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/alfresco/shared/alfresco-global.properties | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index f70717e112..61d9d1e7d8 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -66,4 +66,7 @@ dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ ### Virtual Folders Config Properties ### -virtual.folders.enabled=false \ No newline at end of file +virtual.folders.enabled=false + +### Remote JMX (Default: disabled) ### +alfresco.jmx.connector.enabled=false \ No newline at end of file From d926367677b25ce56f99f1c3cfc6aa20fa4c3731 Mon Sep 17 00:00:00 2001 From: Silviu Dinuta Date: Thu, 21 Jan 2016 15:52:46 +0000 Subject: [PATCH 170/670] CM-709: Virtual to Smart: merge VF branches (core/share) into HEAD,trunk git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@121253 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/alfresco/shared/alfresco-global.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 61d9d1e7d8..1db5a9804c 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -65,8 +65,8 @@ index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ -### Virtual Folders Config Properties ### -virtual.folders.enabled=false +### Smart Folders Config Properties ### +smart.folders.enabled=false ### Remote JMX (Default: disabled) ### alfresco.jmx.connector.enabled=false \ No newline at end of file From e2328b32ec2c3f2dc1f2ef2bd3cdc3ecc9e6fc87 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 22 Jan 2016 16:24:13 +0000 Subject: [PATCH 171/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 121253 sdinuta: CM-709: Virtual to Smart: merge VF branches (core/share) into HEAD,trunk git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@121347 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/alfresco/shared/alfresco-global.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 61d9d1e7d8..1db5a9804c 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -65,8 +65,8 @@ index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ -### Virtual Folders Config Properties ### -virtual.folders.enabled=false +### Smart Folders Config Properties ### +smart.folders.enabled=false ### Remote JMX (Default: disabled) ### alfresco.jmx.connector.enabled=false \ No newline at end of file From 0132467940dba8aa8ea26147a797945b144eb6b5 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 25 Jan 2016 08:34:33 +0000 Subject: [PATCH 172/670] Merged AOS-Module (5.1.0) to HEAD (5.1) 121223 jphuynh: ACE-5033: Rebranded Sharepoint Imitation to AOS Module in the bitrock installer files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@121375 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 8fbb57f675..8e94922890 100644 --- a/pom.xml +++ b/pom.xml @@ -297,11 +297,11 @@ solr4.war - org.alfresco.sharepoint-imitation - alfresco-sharepoint-imitation-distributionzip - ${alfresco.sharepoint-imitation.version} + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} zip - ${project.build.directory}/distribution/sharepoint-imitation + ${project.build.directory}/distribution/aos-module From b0a82992d7a619bf6fcc814c49fddf26148b9811 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 25 Jan 2016 10:07:58 +0000 Subject: [PATCH 173/670] Merged AOS-Module (5.1.0) to trunk (2015.0) 121226 jphuynh: ACE-5033: Updated installers with the rebranding of Sharepoint Imitation to AOS Module. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@121386 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 10 +++++----- installer/pom.xml | 10 +++++----- pom.xml | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 4d697b9b2a..5643a35091 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -111,13 +111,13 @@ ${project.build.directory}/wcmqs alfresco/extension/** - + - org.alfresco.sharepoint-imitation - alfresco-sharepoint-imitation-distributionzip - ${alfresco.sharepoint-imitation.version} + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} zip - ${project.build.directory}/distribution/sharepoint-imitation + ${project.build.directory}/distribution/aos-module diff --git a/installer/pom.xml b/installer/pom.xml index df9be893d6..24babd4420 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -310,13 +310,13 @@ ${project.build.directory}/wcmqs alfresco/extension/** - + - org.alfresco.sharepoint-imitation - alfresco-sharepoint-imitation-distributionzip - ${alfresco.sharepoint-imitation.version} + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} zip - ${project.build.directory}/distribution/sharepoint-imitation + ${project.build.directory}/distribution/aos-module diff --git a/pom.xml b/pom.xml index 64ab770a83..e561cc43df 100644 --- a/pom.xml +++ b/pom.xml @@ -24,8 +24,8 @@ 1.0-SNAPSHOT - - 1.0 + + 1.0 5.1-20151118 From 9b0c4bac7920b7f22ea615eb17b5443ff5a9570b Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 25 Jan 2016 10:08:06 +0000 Subject: [PATCH 174/670] Merged AOS-Module (5.1.0) to trunk (2015.0) 121277 jphuynh: ACE-5033: Use aos-module 1.0-SNAPSHOT until we release the version git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@121387 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e561cc43df..deede4c3ff 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.0-SNAPSHOT - 1.0 + 1.0-SNAPSHOT 5.1-20151118 From e4b2bd65306f86f5971ec293f141e4a7227f5b5c Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 25 Jan 2016 13:47:01 +0000 Subject: [PATCH 175/670] Use AOS Module 1.0 release git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@121399 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index deede4c3ff..e561cc43df 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.0-SNAPSHOT - 1.0-SNAPSHOT + 1.0 5.1-20151118 From a15ab69cdc30af17e7c4437b92337f88cb295e18 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Mon, 25 Jan 2016 14:07:42 +0000 Subject: [PATCH 176/670] Merged HEAD (5.1) to 5.1.N (5.1.1) 121375 jphuynh: Merged AOS-Module (5.1.0) to HEAD (5.1) 121223 jphuynh: ACE-5033: Rebranded Sharepoint Imitation to AOS Module in the bitrock installer files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@121412 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 894c85c2ad..8ad40023fd 100644 --- a/pom.xml +++ b/pom.xml @@ -297,11 +297,11 @@ solr4.war - org.alfresco.sharepoint-imitation - alfresco-sharepoint-imitation-distributionzip - ${alfresco.sharepoint-imitation.version} + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} zip - ${project.build.directory}/distribution/sharepoint-imitation + ${project.build.directory}/distribution/aos-module From b590e84060f2fa592abc61e4886b64d885c1375c Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 27 Jan 2016 15:15:30 +0000 Subject: [PATCH 177/670] ACE-5033: Use AOS Module 1.1 release to fix module name and description git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@121552 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e561cc43df..1df1ff47d9 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.0-SNAPSHOT - 1.0 + 1.1 5.1-20151118 From 8b10a816db1985cd1bcb88c5fcaa7ef1534fc6ff Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Fri, 29 Jan 2016 12:05:44 +0000 Subject: [PATCH 178/670] ACE-5073: Added the amps_share folder in the distribution zip. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@121666 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From d9679f5c4f2434c30108c655ae958e6f8eff1502 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 10 Feb 2016 10:05:03 +0000 Subject: [PATCH 179/670] Create tag for Alfresco One Platform 5.1 from ^/alfresco/HEAD revision 122011 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/PATCHES/5.1.0/root@122012 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8e94922890..d64c71ea0b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.1-SNAPSHOT + 5.1 alfresco-one-installer-resources jar From 9d91008bd87d04ecd60efafd78e6a762099bfbca Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 10 Feb 2016 12:03:57 +0000 Subject: [PATCH 180/670] Create branch for Alfresco Full Installer AlfrescoOne-201602 from ^/services/full-installer/trunk revision 122017 based on Alfresco One Platform 5.1 and Alfresco One Share 5.1 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/AlfrescoOne-201602@122018 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 13cc319172..8630a3fc92 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index 256a05c919..527030c51b 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 6aa0bfe346..124cbf476d 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 alfresco-one-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 5643a35091..a844a3d36d 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 alfresco-one-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index b78b1fb0bb..72dd23377e 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 alfresco-enterprise-update-package jar diff --git a/installer/pom.xml b/installer/pom.xml index 24babd4420..ab4fcecb44 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 1df1ff47d9..be92fce981 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 pom Alfresco Full Installation - 5.1-SNAPSHOT + 5.1 - 5.1-SNAPSHOT + 5.1 3.0.3 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index fe8a9338b9..f00c6f245f 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index a1a46a989e..8162dcba24 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + AlfrescoOne-201602 pom From 32e5fe375bb4ed5479982f868b24ef3afa178ac9 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Mon, 29 Feb 2016 16:49:34 +0000 Subject: [PATCH 181/670] ACE-5135 ACE-5131 Pre-apply share-services AMP in alfresco.war packaged in EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@122874 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 6 ++-- enterprise-war-for-ear/pom.xml | 57 ++++++++++++++++++++++++++++++++++ pom.xml | 1 + 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 enterprise-war-for-ear/pom.xml diff --git a/ear/pom.xml b/ear/pom.xml index 256a05c919..511d11ae07 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -26,8 +26,8 @@ org.alfresco - alfresco-platform-enterprise - ${alfresco.platform.version} + alfresco-enterprise-war-for-ear + ${project.version} war @@ -178,7 +178,7 @@ org.alfresco - alfresco-platform-enterprise + alfresco-enterprise-war-for-ear alfresco.war diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml new file mode 100644 index 0000000000..1db7e2b636 --- /dev/null +++ b/enterprise-war-for-ear/pom.xml @@ -0,0 +1,57 @@ + + 4.0.0 + alfresco-enterprise-war-for-ear + Alfresco Enterprise WAR for inclusion in EAR + + org.alfresco + alfresco-full-installation + 2015-SNAPSHOT + + war + + + + org.alfresco + alfresco-platform-enterprise + ${alfresco.platform.version} + war + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + + + + + alfresco + + + maven-war-plugin + + + + org.alfresco.maven.plugin + alfresco-maven-plugin + 2.1.1 + + + + + + org.alfresco + alfresco-platform-enterprise + war + + + org.alfresco + alfresco-share-services + amp + + + + + + + diff --git a/pom.xml b/pom.xml index 1df1ff47d9..5a1aa4b6c2 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,7 @@ enterprise + enterprise-war-for-ear ear enterprise-distribution enterprise-update From 184b7e2fdf065b3843b086dde10fd34699faf689 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 2 Mar 2016 16:03:10 +0000 Subject: [PATCH 182/670] Specify installer.version.name when calling Ant to build installers (so we can override it on the command line) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/AlfrescoOne-201602@123005 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index a844a3d36d..d9e7aecefc 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -176,7 +176,9 @@ ${project.build.directory}/classes/bitrock - + + + From 10b989ec608b4a4b08490dcbd5e6cde1f33dbc03 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Mon, 7 Mar 2016 18:40:37 +0000 Subject: [PATCH 183/670] Create branch 5.1.0 from AlfrescoOne-201602, reverting to previous naming convention git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.0@123195 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 2 +- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 8630a3fc92..a5bbdfe065 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index 527030c51b..db5e8f95b7 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 124cbf476d..91c952356f 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 alfresco-one-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index d9e7aecefc..b1a236b023 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 alfresco-one-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 72dd23377e..0cc39f4390 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 alfresco-enterprise-update-package jar diff --git a/installer/pom.xml b/installer/pom.xml index ab4fcecb44..1ec9d975f5 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index be92fce981..bcce5f3a0b 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 6 alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 pom Alfresco Full Installation diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index f00c6f245f..6be901a826 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 8162dcba24..30145716c9 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - AlfrescoOne-201602 + 5.1.0 pom From b08d9d6d29f00d1dfde092d3765cdcfd728dff86 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Mon, 7 Mar 2016 18:57:55 +0000 Subject: [PATCH 184/670] Set version to 5.1.0-SNAPSHOT, ready for 5.1.0.1 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/PATCHES/5.1.0/root@123197 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d64c71ea0b..f969164c6b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.1 + 5.1.0-SNAPSHOT alfresco-one-installer-resources jar From d14a6441128a89d1bc3bc189c27fbe557a8ca3c2 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 13:22:24 +0000 Subject: [PATCH 185/670] Created 5.1.N branch from 5.1.0 r123195 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 39acd577b49a9ed639accf5f674251b225e05a26 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 13:27:45 +0000 Subject: [PATCH 186/670] Increment version to 5.1.1-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123236 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index bcce5f3a0b..dff4dbdb2e 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT pom Alfresco Full Installation - 5.1 + 5.1.1-SNAPSHOT - 5.1 + 5.1.1-SNAPSHOT 3.0.3 From 88fb97d249ef94afaaf3742bebf3179baae5379e Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 14:35:38 +0000 Subject: [PATCH 187/670] Created 5.1.1 branch from 5.1.N r123236 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123241 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 6f17189760f1fd18188fb4e3272e93ba40eedbd6 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 14:36:32 +0000 Subject: [PATCH 188/670] Created 5.2.N branch from 5.1.N r123236 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@123242 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 469f59d22472bcbd1e634967b08a96599fe807f0 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 14:53:37 +0000 Subject: [PATCH 189/670] Increment version to 5.1.1-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123244 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- public-javadoc/pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index a5bbdfe065..877eacf5e3 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index db5e8f95b7..d5e130baa9 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 91c952356f..e054447097 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT alfresco-one-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index b1a236b023..acdf25c85a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT alfresco-one-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 0cc39f4390..4154555e13 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT alfresco-enterprise-update-package jar diff --git a/installer/pom.xml b/installer/pom.xml index 1ec9d975f5..38c2befbd3 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT alfresco-community-installer pom diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 6be901a826..badb8e155d 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.1-SNAPSHOT pom From 0fc01975bee15f6fbcf182086aee2e3de4b94310 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 15:12:46 +0000 Subject: [PATCH 190/670] Increment version to 5.1.2-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123248 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 2 +- public-javadoc/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 877eacf5e3..a96d84733c 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index d5e130baa9..b156daebb7 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index e054447097..9b2f35b6fc 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT alfresco-one-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index acdf25c85a..926ce3fc10 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT alfresco-one-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 4154555e13..b4b5b0f5ce 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT alfresco-enterprise-update-package jar diff --git a/installer/pom.xml b/installer/pom.xml index 38c2befbd3..87e3bbad0b 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index dff4dbdb2e..6a8953622f 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 6 alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT pom Alfresco Full Installation diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index badb8e155d..9c5306568f 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT pom From 16211f4973c0facdcb0d9f5c782a3270c3bcdf74 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 15:14:51 +0000 Subject: [PATCH 191/670] Increment version to 5.2.1-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@123249 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 2 +- public-javadoc/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index a5bbdfe065..14c824b05b 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.2.1-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index db5e8f95b7..18540e7ce5 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.2.1-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 91c952356f..f5921103b1 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.2.1-SNAPSHOT alfresco-one-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index b1a236b023..072072c834 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.2.1-SNAPSHOT alfresco-one-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 0cc39f4390..b0437b988c 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.2.1-SNAPSHOT alfresco-enterprise-update-package jar diff --git a/installer/pom.xml b/installer/pom.xml index 1ec9d975f5..5691a0dcc7 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.2.1-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index dff4dbdb2e..8b05f0a538 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 6 alfresco-full-installation - 5.1.1-SNAPSHOT + 5.2.1-SNAPSHOT pom Alfresco Full Installation diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 6be901a826..b9057533cb 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.2.1-SNAPSHOT pom From 2ff5b05d4cdd3a4ed8dc31d9e8a9f1d5665d5682 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 15:21:02 +0000 Subject: [PATCH 192/670] Use 5.1.2-SNAPSHOT of PLAT and SHARE git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123252 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 6a8953622f..86a6116133 100644 --- a/pom.xml +++ b/pom.xml @@ -13,10 +13,10 @@ - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT 3.0.3 From a200580acb1f5159aee7bbdd4d73da07be976ca2 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 8 Mar 2016 15:23:50 +0000 Subject: [PATCH 193/670] Use 5.2.1-SNAPSHOT of PLAT and SHARE git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@123254 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8b05f0a538..04038b394b 100644 --- a/pom.xml +++ b/pom.xml @@ -13,10 +13,10 @@ - 5.1.1-SNAPSHOT + 5.2.1-SNAPSHOT - 5.1.1-SNAPSHOT + 5.2.1-SNAPSHOT 3.0.3 From fa8b65b4b550b8cfa8bacee0e6ea37b042842cf5 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 10 Mar 2016 07:16:14 +0000 Subject: [PATCH 194/670] Increment version to 5.2-SNAPSHOT - changed versions of AUTH,JLAN,CORE,SURF_WS - merged in fixes around multiple SURF/SURF_WS versions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@123408 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8e94922890..1f2d7fbdbc 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.1-SNAPSHOT + 5.2-SNAPSHOT alfresco-one-installer-resources jar From 06630a8d8af35f51796fdd966809c7bdd1c38afc Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 10 Mar 2016 10:23:18 +0000 Subject: [PATCH 195/670] Update dependencies for 5.2 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123416 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 5a1aa4b6c2..a72e860db8 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT pom Alfresco Full Installation - 5.1-SNAPSHOT + 5.2-SNAPSHOT - 5.1-SNAPSHOT + 5.2-SNAPSHOT 3.0.3 From 03ea2a977afe9b7d5812d21d641fde2078d01aed Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 11 Mar 2016 10:58:29 +0000 Subject: [PATCH 196/670] Fix version of parent pom in project running share-po git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123520 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- share-po-run/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 30145716c9..e63d050b55 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.1.0 + 5.1.2-SNAPSHOT pom From 9d8ece6518283de1a1b286ddb6f7106b55f7c997 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Fri, 11 Mar 2016 11:22:36 +0000 Subject: [PATCH 197/670] Update dependencies for 5.2 - fix sub-poms git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123522 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-update/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 13cc319172..5d824b869a 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index 511d11ae07..534694d749 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 6aa0bfe346..918910c78b 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT alfresco-one-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 5643a35091..c0c60d57e9 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT alfresco-one-installer pom diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index b78b1fb0bb..fd472a3d77 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT alfresco-enterprise-update-package jar diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 1db7e2b636..36d2fc1789 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT war diff --git a/installer/pom.xml b/installer/pom.xml index 24babd4420..6ccdb88a73 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT alfresco-community-installer pom diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index fe8a9338b9..56d7f01425 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index a1a46a989e..1b122f9060 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.2-SNAPSHOT pom From e3515a7800f22c214267c5e911e67d7948ceb880 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Fri, 11 Mar 2016 15:29:36 +0000 Subject: [PATCH 198/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 122069,122097,122098,122099,122100,122101,122111,122141, 122148,122219,122235,122279,122280,122281,122284,122291, 122306,122309,122347,122348,122412,122430,122431,122449, 122474,122493,122494,122495,122497,122498,122499,122504, 122512,122563,122570,122574,122575,122615,122622,122623, 122624,122667,122668,122803,122851,122857,122908,122909, 122910,122911,122912,122960,122961,122980,122981,122991, 123012,123013,123044,123098,123100,123182,123187,123208, 123342,123343,123344,123345,123346,123347,123348,123349, 123350,123351,123352,123353,123354,123355,123356,123357, 123358,123363,123386,123401,123406,123411,123413,123476, 123477,123478,123483,123484,123486,123487,123488,123489, 123490,123504,123511,123535,123537 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123541 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 23a5754ff977a6aca17453de8e79d22bf3fba110 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:02:36 +0000 Subject: [PATCH 199/670] Incremented version to 5.1.2 and schema to 9050 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@123829 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8ad40023fd..904aafc238 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT alfresco-one-installer-resources jar From 702869716a0f77db454475aac8b03c228f1d8ee8 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:08:35 +0000 Subject: [PATCH 200/670] Incremented version to 5.2.1 and schema to 10050 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@123830 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1f2d7fbdbc..85ef4603e0 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.2-SNAPSHOT + 5.2.1-SNAPSHOT alfresco-one-installer-resources jar From 2b832a6257cd8aadb58156d7c7e243269c47ec62 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:41:50 +0000 Subject: [PATCH 201/670] Merged 5.2.N (5.2.1) to trunk (5.2) 123005 slanglois: Specify installer.version.name when calling Ant to build installers (so we can override it on the command line) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123843 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index c0c60d57e9..8f37a491fa 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -176,7 +176,9 @@ ${project.build.directory}/classes/bitrock - + + + From c7d061ed8ca14f17770f6ec26775c45573cec780 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:43:10 +0000 Subject: [PATCH 202/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 123195 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123844 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From bb1fc8eaeabcfc656623c5d33fe43f8ef3849593 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:43:43 +0000 Subject: [PATCH 203/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 123250,123251,123253 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123845 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 4f73093ffb4f76e30d78524500f72a8c3a7eebb6 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:45:34 +0000 Subject: [PATCH 204/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 123254 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123846 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 7bdbe2ce6b6da2c0b743827798266a3781064f56 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:47:06 +0000 Subject: [PATCH 205/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 123839 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From cef56ed81e07216c785a468f24ac946f846ab776 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:50:48 +0000 Subject: [PATCH 206/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : 123235-123236,123242,123249,123838 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123848 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 206800f43fdfcd2f7ab7851cf572639d24670f3c Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:51:45 +0000 Subject: [PATCH 207/670] remove nested merginfo git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.0@123849 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 8f2f21a12cc579b6d1a268303de612fcef2e81ef Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:55:57 +0000 Subject: [PATCH 208/670] remove nested merginfo git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123850 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From d074bd9f0160251acfa51870d00609b88a9e6a5b Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:56:36 +0000 Subject: [PATCH 209/670] remove nested merginfo git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@123851 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 9a6aa35c8782f9b76ce8f2b38986e079344d727e Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 14:57:18 +0000 Subject: [PATCH 210/670] remove nested merginfo git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123852 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From d84cb7685bfc1a558c84ba3a017705b0014489bc Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 15:02:35 +0000 Subject: [PATCH 211/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 123851,123854 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123855 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 526a8b334d14439929ee674d9b229efb7e99d977 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 15:11:05 +0000 Subject: [PATCH 212/670] Merged trunk (5.2) to 5.2.N (5.2.1) (RECORD ONLY) history used to set up 5.2.N git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@123858 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 6695785e2ce6e3e8c7a0f9787ab05d83bf021e18 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 12 Mar 2016 15:11:29 +0000 Subject: [PATCH 213/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 123857,123858 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@123859 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 071d18109dc0b1b545e8bb465ae4113fdc501622 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 14 Mar 2016 17:09:06 +0000 Subject: [PATCH 214/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 123879,123880,123885,123894 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@123895 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 90dcd2bc5c4b1fcf3814b2fe9e5a565c591e3f00 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:51:59 +0000 Subject: [PATCH 215/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 111848,111919,111920,111921 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123916 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 5915c133bdc885b75ee0b83b321bce42b707cd6f Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:54:22 +0000 Subject: [PATCH 216/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111922 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111602: UTF-241: Create a new upgrade package in .tgz format. Note that the subpackage (the "update contents") within the tgz is still a zip file - the update tool expects to find a zip file that it can use. Also note that the zip package format is in fact capable of storing the execute bits and when unpacking it on a *nix machine, I do see the bin/apply_updates.sh file as having the correct 755 file mode. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123917 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 56 +++++++++------------ enterprise-update/pom.xml | 44 ++++++++++++---- 2 files changed, 59 insertions(+), 41 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 22fcb17693..7143d4bd66 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -7,46 +7,38 @@ update-tool zip + tgz false + + + + ${unpacked.update.tool}/bin + bin + + *.sh + + keep + + + + ${unpacked.update.tool}/bin + bin + + *.sh + + unix + + 0755 + + + ${project.basedir}/target/update-contents-${installer.version.name}.zip update - - - - - - false - true - bin - alfresco-update-tool.jar - - org.alfresco:alfresco-update-tool:jar - - - - - false - true - - true - - keep - - META-INF/** - - - - org.alfresco:alfresco-update-tool-distribution:jar - - - - - diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 4154555e13..b4016a4a9f 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -11,6 +11,9 @@ jar Alfresco Enterprise Update Package + + ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} + @@ -27,19 +30,13 @@ war - - - org.alfresco - alfresco-update-tool - ${alfresco.updatetool.version} - jar - - + org.alfresco + alfresco-update-tool-distribution ${alfresco.updatetool.version} - jar + zip @@ -54,6 +51,35 @@ ${project.artifactId}-${installer.version.name} + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack-update-tool-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-update-tool-distribution + ${alfresco.updatetool.version} + true + zip + + + + + + + maven-assembly-plugin From 164a95bc3b5f22f117a96ff3230825725f3dbf31 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:55:17 +0000 Subject: [PATCH 217/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111924 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111613: UTF-242: added maven integration-test support to the update package project. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123918 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 39 ++++++++++--- .../pkg/test/AbstractIntegrationTest.java | 56 +++++++++++++++++++ .../pkg/test/TgzFormatIntegrationTest.java | 32 +++++++++++ 3 files changed, 119 insertions(+), 8 deletions(-) create mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java create mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index b4016a4a9f..d571b6c052 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -39,7 +39,7 @@ zip - + junit junit @@ -50,6 +50,19 @@ ${project.artifactId}-${installer.version.name} + src/main/java + + + src/main/resources + + + src/test/java + + + src/test/resources + + + org.apache.maven.plugins maven-surefire-plugin - - - **/*IntegrationTest.java - - + + default-test + test + + test + + + + **/*IntegrationTest.java + + true + alphabetical + + integration-test integration-test @@ -135,7 +158,7 @@ false ${project.build.directory} - false + true alphabetical ${project.artifactId}-${installer.version.name}.zip diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java new file mode 100644 index 0000000000..5507017a80 --- /dev/null +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java @@ -0,0 +1,56 @@ +package org.alfresco.update.pkg.test; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.io.File; + +import org.junit.Before; + +/** + * Abstract base class for tests. + * + * @author Matt Ward + */ +public abstract class AbstractIntegrationTest +{ + protected File targetDir; + protected String version; + + @Before + public void setUp() throws Exception + { + initTargetDir(); + initVersion(); + } + + private void initTargetDir() + { + String targetDir = System.getProperty("alfresco.target.dir"); + if (targetDir == null) + { + targetDir = "./target"; // test needs to be run in target dir. + } + this.targetDir = new File(targetDir); + assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); + } + + private void initVersion() + { + // This is set by maven, see pom.xml + version = System.getProperty("version"); + assertNotNull("'version' system property not set. If using an IDE, then add an appropriate VM argument to " + + "your run configuration, e.g. -Dversion=5.0.3-SNAPSHOT", version); + } + + protected boolean runningOnWindows() + { + String os = System.getProperty("os.name").toLowerCase(); + + if (os.contains("windows")) + { + return true; + } + return false; + } +} diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java new file mode 100644 index 0000000000..8ab5f6c6c7 --- /dev/null +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java @@ -0,0 +1,32 @@ +/* + * Copyright 2005-2015 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.pkg.test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +/** + * Tests for the tgz format packaging. + * + * @author Matt Ward + */ +public class TgzFormatIntegrationTest +{ + @Before + public void setUp() throws Exception + { + } + + @Test + public void test() + { +// fail("Not yet implemented"); + } +} From 6f9893799c832b0bbd59867a980bc6a69f8cdca3 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:55:45 +0000 Subject: [PATCH 218/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111925 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111630: UTF-242: Unix specific test for apply_updates.sh git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123919 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 4 + .../pkg/test/TgzFormatIntegrationTest.java | 113 +++++++++++++++++- 2 files changed, 113 insertions(+), 4 deletions(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index d571b6c052..274627720c 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -170,6 +170,10 @@ **/*IntegrationTest.java + + ${version} + ${project.build.directory} + diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java index 8ab5f6c6c7..82c0bda663 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java @@ -7,8 +7,23 @@ */ package org.alfresco.update.pkg.test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; + +import org.apache.commons.compress.archivers.ArchiveException; +import org.apache.commons.compress.archivers.ArchiveStreamFactory; +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; +import org.apache.commons.compress.compressors.CompressorException; +import org.apache.commons.compress.compressors.CompressorInputStream; +import org.apache.commons.compress.compressors.CompressorStreamFactory; import org.junit.Before; import org.junit.Test; @@ -17,16 +32,106 @@ import org.junit.Test; * * @author Matt Ward */ -public class TgzFormatIntegrationTest +public class TgzFormatIntegrationTest extends AbstractIntegrationTest { + private boolean found; + @Before public void setUp() throws Exception { + super.setUp(); } @Test - public void test() + public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException { -// fail("Not yet implemented"); + if (runningOnWindows()) + { + // This is a Unix only test. + return; + } + + File archive = new File(targetDir, "alfresco-enterprise-update-package-"+version+".tgz"); + assertTrue("File does not exist: "+archive, archive.exists()); + FileInputStream fis = null; + try + { + fis = new FileInputStream(archive); + + handleArchiveEntries(fis, new ArchiveEntryHandler() + { + @Override + public boolean handle(TarArchiveEntry entry) + { + System.out.println("Handling tar entry: "+entry.getName()); + if (entry.getName().equals("bin/apply_updates.sh")) + { + System.out.println("Found the unix shell wrapper script."); + + final int expectedPerms = 0755; + // Other bits may be set, but check 755 octal are set. + System.out.println("File has permissions: "+Integer.toString(entry.getMode(), 8)); + assertEquals(expectedPerms, entry.getMode() & expectedPerms); + found = true; + } + return !found; + } + }); + + assertTrue("bin/apply_updates.sh is a required file.", found); + } + finally + { + if (fis != null) + { + fis.close(); + } + } + } + + private static interface ArchiveEntryHandler + { + boolean handle(TarArchiveEntry entry); + } + + private void handleArchiveEntries(InputStream raw, ArchiveEntryHandler handler) throws ArchiveException, IOException, CompressorException + { + CompressorInputStream gzIs = null; + BufferedInputStream bis = null; + TarArchiveInputStream aris = null; + BufferedInputStream bgzIs = null; + try + { + bis = new BufferedInputStream(raw); + gzIs = new CompressorStreamFactory().createCompressorInputStream(bis); + bgzIs = new BufferedInputStream(gzIs); + aris = (TarArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream(bgzIs); + + TarArchiveEntry entry = null; + boolean carryOn = true; + while (carryOn && (entry = aris.getNextTarEntry()) != null) + { + carryOn = handler.handle(entry); + } + } + finally + { + if (aris != null) + { + aris.close(); + } + if (bgzIs != null) + { + bgzIs.close(); + } + if (gzIs != null) + { + gzIs.close(); + } + if (bis != null) + { + bis.close(); + } + } } } From ff40bce89176c9c9d3066dec744d21c41bb96ac7 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:55:54 +0000 Subject: [PATCH 219/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111926 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111638: UTF-242: refactored archive unpacking code to use try-with-resources for brevity. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123920 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../pkg/test/TgzFormatIntegrationTest.java | 34 ++++--------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java index 82c0bda663..6b55c550fb 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java @@ -96,17 +96,14 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest private void handleArchiveEntries(InputStream raw, ArchiveEntryHandler handler) throws ArchiveException, IOException, CompressorException { - CompressorInputStream gzIs = null; - BufferedInputStream bis = null; - TarArchiveInputStream aris = null; - BufferedInputStream bgzIs = null; try + ( + BufferedInputStream bis = new BufferedInputStream(raw); + CompressorInputStream gzIs = new CompressorStreamFactory().createCompressorInputStream(bis); + BufferedInputStream bgzIs = new BufferedInputStream(gzIs); + TarArchiveInputStream aris = (TarArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream(bgzIs); + ) { - bis = new BufferedInputStream(raw); - gzIs = new CompressorStreamFactory().createCompressorInputStream(bis); - bgzIs = new BufferedInputStream(gzIs); - aris = (TarArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream(bgzIs); - TarArchiveEntry entry = null; boolean carryOn = true; while (carryOn && (entry = aris.getNextTarEntry()) != null) @@ -114,24 +111,5 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest carryOn = handler.handle(entry); } } - finally - { - if (aris != null) - { - aris.close(); - } - if (bgzIs != null) - { - bgzIs.close(); - } - if (gzIs != null) - { - gzIs.close(); - } - if (bis != null) - { - bis.close(); - } - } } } From 303e6560b0875c2b085a3afae8a165db99634003 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:57:02 +0000 Subject: [PATCH 220/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 111938,112043,112116 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123921 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 9b60df5e74bb1c7758bddb4414add8d2a13b9666 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:58:08 +0000 Subject: [PATCH 221/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112146 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112131: Change structure of update package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123922 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 52 ++++++++++++++++----- enterprise-update/pom.xml | 15 +----- 2 files changed, 41 insertions(+), 26 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 7143d4bd66..ed78121f31 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -10,22 +10,22 @@ tgz - false + true ${unpacked.update.tool}/bin - bin - - *.sh - + / + + *.bat + keep ${unpacked.update.tool}/bin - bin + / *.sh @@ -33,12 +33,40 @@ 0755 + + + ${unpacked.update.tool}/bin + lib + + *.jar + + - - - ${project.basedir}/target/update-contents-${installer.version.name}.zip - update - - + + + + + false + true + resources/war + alfresco.war + + org.alfresco:alfresco*:war + + + + + + false + true + resources/war + share.war + + org.alfresco:share*:war + + + + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 274627720c..5afe6a1ab0 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -96,20 +96,7 @@ maven-assembly-plugin - - update - package - - single - - - false - - assemblies/update.xml - - update-contents-${installer.version.name} - - + update-tool package From cbc6e359ef6ce15858d13687c3b90b51949a4c93 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:58:16 +0000 Subject: [PATCH 222/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112147 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112133: Fix up TgZ test after moving apply_updates.sh git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123923 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/pkg/test/TgzFormatIntegrationTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java index 6b55c550fb..dfb35e6287 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java @@ -64,7 +64,7 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest public boolean handle(TarArchiveEntry entry) { System.out.println("Handling tar entry: "+entry.getName()); - if (entry.getName().equals("bin/apply_updates.sh")) + if (entry.getName().equals("apply_updates.sh")) { System.out.println("Found the unix shell wrapper script."); @@ -78,7 +78,7 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest } }); - assertTrue("bin/apply_updates.sh is a required file.", found); + assertTrue("apply_updates.sh is a required file.", found); } finally { From 598734bc71261ca1e9fd6614aa8e267f3f188906 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:58:24 +0000 Subject: [PATCH 223/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112169 mrogers: attempt to get these tests to work. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123924 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 4 +- .../packaging/PackagingIntegrationTest.java | 56 +++++++------------ .../pkg/test/AbstractIntegrationTest.java | 2 + 3 files changed, 25 insertions(+), 37 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index ed78121f31..1352dc2cbf 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -16,7 +16,7 @@ ${unpacked.update.tool}/bin - / + *.bat @@ -25,7 +25,7 @@ ${unpacked.update.tool}/bin - / + *.sh diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index f20577a13b..cd1455bf46 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -5,7 +5,9 @@ import static org.junit.Assert.*; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.Enumeration; +import java.util.List; import java.util.Set; import java.util.TreeSet; import java.util.zip.ZipEntry; @@ -31,18 +33,14 @@ import org.junit.Test; public class PackagingIntegrationTest { private File updatePackage; - private File contentsPackage; + @Before public void setUp() throws Exception { String pkgName = System.getProperty("alfresco.update.package"); - assertNotNull("Could not determine package name."); - updatePackage = new File(pkgName); - - String contentsPkgName = System.getProperty("alfresco.contents.package"); - assertNotNull("Could not determine content package name."); - contentsPackage = new File(contentsPkgName); + assertNotNull("Could not determine package name.", pkgName); + updatePackage = new File(pkgName); } @Test @@ -54,25 +52,13 @@ public class PackagingIntegrationTest Set paths = listFiles(updatePackage); // Are the binaries present? - assertPathPresent(paths, "bin/alfresco-update-tool.jar"); - assertPathPresent(paths, "bin/apply_updates.sh"); - assertPathPresent(paths, "bin/apply_updates.bat"); + assertPathPresent(paths, "lib/alfresco-update-tool.jar"); + assertPathPresent(paths, "apply_updates.sh"); + assertPathPresent(paths, "apply_updates.bat"); // Is the content sub-package present? - assertPathPresent(paths, "update/"+contentsPackage.getName()); - } - - @Test - public void testContentsPackageStructureIsAsExpected() throws ZipException, IOException - { - // Check the package exists before we go any further - assertTrue("Contents package does not exist.", contentsPackage.exists()); - - Set paths = listFiles(contentsPackage); - - // Are the webapps present? - assertPathPresent(paths, "assets/web-server/webapps/alfresco.war"); - assertPathPresent(paths, "assets/web-server/webapps/share.war"); + assertPathPresent(paths, "resources"); + assertPathPresent(paths, "alfresco.war"); } private void assertPathPresent(Set pathsToCheck, String expectedPath) @@ -84,21 +70,21 @@ public class PackagingIntegrationTest private Set listFiles(File file) throws ZipException, IOException { Set paths = new TreeSet(); - - ZipFile zipFile = new ZipFile(file); - try + + File[] files = file.listFiles(); + + for(File x : files) { - Enumeration e = zipFile.entries(); - while (e.hasMoreElements()) + if(x.isFile()) { - ZipEntry entry = e.nextElement(); - paths.add(entry.getName()); + paths.add(x.getAbsolutePath()); + } + if(x.isDirectory()) + { + paths.addAll(listFiles(x)); } } - finally - { - zipFile.close(); - } + return paths; } } diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java index 5507017a80..90d5071b6b 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java @@ -38,7 +38,9 @@ public abstract class AbstractIntegrationTest private void initVersion() { // This is set by maven, see pom.xml + System.out.println("MER"); version = System.getProperty("version"); + System.out.println("SSS"); assertNotNull("'version' system property not set. If using an IDE, then add an appropriate VM argument to " + "your run configuration, e.g. -Dversion=5.0.3-SNAPSHOT", version); } From 38c774658a2e49e31600be8aba6ef7a5ffe51935 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:58:26 +0000 Subject: [PATCH 224/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112182 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123925 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 5d2c3fafd592d77df8fc2be5465c3b753791ef1a Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:58:33 +0000 Subject: [PATCH 225/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112207 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112201: UTF-264 - Make update test aware that its no longer a "tar bomb" git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123926 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/pkg/test/TgzFormatIntegrationTest.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java index dfb35e6287..5fa84434b3 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java @@ -41,17 +41,20 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest { super.setUp(); } + + public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; @Test public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException { + if (runningOnWindows()) { // This is a Unix only test. return; } - File archive = new File(targetDir, "alfresco-enterprise-update-package-"+version+".tgz"); + File archive = new File(targetDir, ARTIFACT_NAME+version+".tgz"); assertTrue("File does not exist: "+archive, archive.exists()); FileInputStream fis = null; try @@ -64,7 +67,7 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest public boolean handle(TarArchiveEntry entry) { System.out.println("Handling tar entry: "+entry.getName()); - if (entry.getName().equals("apply_updates.sh")) + if (entry.getName().equals(ARTIFACT_NAME+version+"/apply_updates.sh")) { System.out.println("Found the unix shell wrapper script."); From 946023d2cc9f952c2c19a34a866b86fb3666becc Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:58:35 +0000 Subject: [PATCH 226/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112223,112265 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123927 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From fe3c489eddbe69585ab409a8eee1dd557cb2e992 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:59:11 +0000 Subject: [PATCH 227/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112266 mrogers: Correcting packaging unit test git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123928 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 5 +- .../packaging/PackagingIntegrationTest.java | 56 +++++++++++-------- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 5afe6a1ab0..a17bc0af8c 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -147,10 +147,6 @@ ${project.build.directory} true alphabetical - - ${project.artifactId}-${installer.version.name}.zip - update-contents-${installer.version.name}.zip - none @@ -158,6 +154,7 @@ **/*IntegrationTest.java + ${project.artifactId}-${installer.version.name}.zip ${version} ${project.build.directory} diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index cd1455bf46..5b39a6dbce 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -1,13 +1,17 @@ - +/* + * Copyright 2015-2015 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ package org.alfresco.update.packaging; import static org.junit.Assert.*; import java.io.File; import java.io.IOException; -import java.util.ArrayList; import java.util.Enumeration; -import java.util.List; import java.util.Set; import java.util.TreeSet; import java.util.zip.ZipEntry; @@ -33,14 +37,14 @@ import org.junit.Test; public class PackagingIntegrationTest { private File updatePackage; - + private File contentsPackage; @Before public void setUp() throws Exception { String pkgName = System.getProperty("alfresco.update.package"); assertNotNull("Could not determine package name.", pkgName); - updatePackage = new File(pkgName); + updatePackage = new File(pkgName); } @Test @@ -49,18 +53,23 @@ public class PackagingIntegrationTest // Check the package exists before we go any further assertTrue("Update package does not exist.", updatePackage.exists()); - Set paths = listFiles(updatePackage); + Set paths = listFiles(updatePackage); + + assertTrue("too few paths in the update package", paths.size() > 3); + String firstPath = (String)paths.toArray()[0]; + String dirs[] = firstPath.split("/"); + // Are the binaries present? - assertPathPresent(paths, "lib/alfresco-update-tool.jar"); - assertPathPresent(paths, "apply_updates.sh"); - assertPathPresent(paths, "apply_updates.bat"); + assertPathPresent(paths, dirs[0] + "/lib/alfresco-update-tool.jar"); + assertPathPresent(paths, dirs[0] + "/apply_updates.sh"); + assertPathPresent(paths, dirs[0] + "/apply_updates.bat"); // Is the content sub-package present? - assertPathPresent(paths, "resources"); - assertPathPresent(paths, "alfresco.war"); + assertPathPresent(paths, dirs[0] + "/resources/war/alfresco.war"); + assertPathPresent(paths, dirs[0] + "/resources/war/share.war"); } - + private void assertPathPresent(Set pathsToCheck, String expectedPath) { assertTrue("Expected path to be present, but was not: "+expectedPath, @@ -70,21 +79,22 @@ public class PackagingIntegrationTest private Set listFiles(File file) throws ZipException, IOException { Set paths = new TreeSet(); - - File[] files = file.listFiles(); - - for(File x : files) + + ZipFile zipFile = new ZipFile(file); + try { - if(x.isFile()) + Enumeration e = zipFile.entries(); + while (e.hasMoreElements()) { - paths.add(x.getAbsolutePath()); - } - if(x.isDirectory()) - { - paths.addAll(listFiles(x)); + ZipEntry entry = e.nextElement(); + paths.add(entry.getName()); } } - + finally + { + zipFile.close(); + } return paths; } } + From e4bcc6f2ff6f97b1744258b670cf53a362924d8b Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:59:23 +0000 Subject: [PATCH 228/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112275 mrogers: Please work! git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123929 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 4 ++-- .../packaging/PackagingIntegrationTest.java | 6 ++---- .../update/pkg/test/AbstractIntegrationTest.java | 11 ----------- .../pkg/test/TgzFormatIntegrationTest.java | 16 +++++++++++++--- 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index a17bc0af8c..ab415ae715 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -154,8 +154,8 @@ **/*IntegrationTest.java - ${project.artifactId}-${installer.version.name}.zip - ${version} + ${project.artifactId}-${installer.version.name}.zip + ${project.artifactId}-${installer.version.name}.tgz ${project.build.directory} diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index 5b39a6dbce..97a720b2e8 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -26,8 +26,7 @@ import org.junit.Test; *

* To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: *

- *   -Dalfresco.update.package=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
- *   -Dalfresco.contents.package=target/update-contents-2015-1-EA-SNAPSHOT.zip
+ *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
  * 
* * ...or similar, depending on current version etc. There probably is a better way. @@ -37,12 +36,11 @@ import org.junit.Test; public class PackagingIntegrationTest { private File updatePackage; - private File contentsPackage; @Before public void setUp() throws Exception { - String pkgName = System.getProperty("alfresco.update.package"); + String pkgName = System.getProperty("alfresco.update.package.zip"); assertNotNull("Could not determine package name.", pkgName); updatePackage = new File(pkgName); } diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java index 90d5071b6b..b0ff8da80f 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java @@ -15,13 +15,11 @@ import org.junit.Before; public abstract class AbstractIntegrationTest { protected File targetDir; - protected String version; @Before public void setUp() throws Exception { initTargetDir(); - initVersion(); } private void initTargetDir() @@ -35,15 +33,6 @@ public abstract class AbstractIntegrationTest assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); } - private void initVersion() - { - // This is set by maven, see pom.xml - System.out.println("MER"); - version = System.getProperty("version"); - System.out.println("SSS"); - assertNotNull("'version' system property not set. If using an IDE, then add an appropriate VM argument to " - + "your run configuration, e.g. -Dversion=5.0.3-SNAPSHOT", version); - } protected boolean runningOnWindows() { diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java index 5fa84434b3..152bb6e0ac 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java @@ -8,6 +8,7 @@ package org.alfresco.update.pkg.test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.BufferedInputStream; @@ -30,16 +31,26 @@ import org.junit.Test; /** * Tests for the tgz format packaging. * + * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: + *
+ *   -Dalfresco.update.package.tgz=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
+ * 
+ * * @author Matt Ward */ public class TgzFormatIntegrationTest extends AbstractIntegrationTest { private boolean found; + File updatePackage; + @Before public void setUp() throws Exception { super.setUp(); + String pkgName = System.getProperty("alfresco.update.package.tgz"); + assertNotNull("Could not determine package name.", pkgName); + updatePackage = new File(pkgName); } public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; @@ -54,12 +65,11 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest return; } - File archive = new File(targetDir, ARTIFACT_NAME+version+".tgz"); - assertTrue("File does not exist: "+archive, archive.exists()); + assertTrue("File does not exist: "+ updatePackage, updatePackage.exists()); FileInputStream fis = null; try { - fis = new FileInputStream(archive); + fis = new FileInputStream(updatePackage); handleArchiveEntries(fis, new ArchiveEntryHandler() { From e54186585491476bd1112fb05b0072e9791874c9 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:59:31 +0000 Subject: [PATCH 229/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112277 mrogers: Make this file compile! git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123930 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java index 152bb6e0ac..30a33760dd 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java @@ -77,7 +77,7 @@ public class TgzFormatIntegrationTest extends AbstractIntegrationTest public boolean handle(TarArchiveEntry entry) { System.out.println("Handling tar entry: "+entry.getName()); - if (entry.getName().equals(ARTIFACT_NAME+version+"/apply_updates.sh")) + if (entry.getName().contains("/apply_updates.sh")) { System.out.println("Found the unix shell wrapper script."); From 2ad6b5ff9a99d5c1ddf8e0ee81edffb30c7de062 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:59:36 +0000 Subject: [PATCH 230/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112358,112463,112530,112565,112625 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123931 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 12a480b566283141501618ac1515c1a49e0a4078 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 10:59:57 +0000 Subject: [PATCH 231/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112712 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112710: UTF-272 - Add SOLR4.WAR to update package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123932 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 11 +++++++++++ enterprise-update/pom.xml | 11 +++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 1352dc2cbf..20aa2307bf 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -67,6 +67,17 @@ + + + false + true + resources/war + solr4.war + + org.alfresco:alfresco-solr4*:war + + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index ab415ae715..c57db605ad 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -30,10 +30,17 @@ war
- + org.alfresco - + alfresco-solr4 + ${alfresco.platform.version} + war + + + + + org.alfresco alfresco-update-tool-distribution ${alfresco.updatetool.version} zip From d4d8479bdc521c7d9a41f7fca44ab11493b66fbb Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:00:04 +0000 Subject: [PATCH 232/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112929,113056,113114,113262,113263,113264 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123933 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From ac248b08da89088907cfaecf4f59701b33d70d85 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:01:04 +0000 Subject: [PATCH 233/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 113265 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 113207 mrogers: Add googledocs AMPS again git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123934 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 20 +++++++++++++++++++ enterprise-update/pom.xml | 22 +++++++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 20aa2307bf..88127a905a 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -78,6 +78,26 @@ + + + false + true + resources/amp/platform + + org.alfresco.integrations:alfresco-googledocs-repo:amp:enterprise:* + + + + + false + true + resources/amp/share + + org.alfresco.integrations:alfresco-googledocs-share:amp:enterprise:* + + + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index c57db605ad..c7ed45d6e6 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -37,9 +37,27 @@ ${alfresco.platform.version} war - - + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + enterprise + amp + + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + enterprise + amp + + + + + org.alfresco alfresco-update-tool-distribution ${alfresco.updatetool.version} From 306b0f04eb1af1381ec7188638df2b334a9bbaaa Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:01:15 +0000 Subject: [PATCH 234/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 113266,113276,113286,113430,113507,113549,113595,113681, 113736,113817,113901,114028,114097,114234,114304,114478, 114479,114480,114481,114748 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123935 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 53b96171ed30297f3aa2d9e2f9ca30cdc1a16f7d Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:18:22 +0000 Subject: [PATCH 235/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 114818 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 114806: UTF-302 - adding README.txt to update package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123936 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 9 ++++++++ enterprise-update/pom.xml | 23 +++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 88127a905a..7a0c13b13d 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -41,6 +41,15 @@ *.jar + + + ${unpacked.update.tool} + + + README.txt + + unix + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index c7ed45d6e6..6156840938 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -118,6 +118,29 @@ + + com.google.code.maven-replacer-plugin + replacer + 1.5.3 + + + prepare-package + + replace + + + + + ${unpacked.update.tool}/README.txt + + + @Version@ + ${version} + + + + + maven-assembly-plugin From dfb9b7ac1f600c9d960e90fc4bc411511b17449a Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:18:25 +0000 Subject: [PATCH 236/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 114842,115008,115300 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123937 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From eefe708100536dd68e86c042cbe5a7b53a6f19d6 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:18:57 +0000 Subject: [PATCH 237/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 115360 mrogers: UTF-310 - added share service amp to update package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123938 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 10 ++++++++++ enterprise-update/pom.xml | 11 ++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 7a0c13b13d..3ead03ea29 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -96,6 +96,16 @@ org.alfresco.integrations:alfresco-googledocs-repo:amp:enterprise:* + + + + false + true + resources/amp/platform + + org.alfresco:alfresco-share-services:amp:* + + false diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 6156840938..5ae6f4c518 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -15,7 +15,7 @@ ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version}
- + org.alfresco alfresco-platform-enterprise @@ -23,6 +23,7 @@ war + org.alfresco share @@ -55,6 +56,14 @@ amp + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + + From 48f638a91f78b879667b567da5ab717b18d131bb Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:19:21 +0000 Subject: [PATCH 238/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 115409,115501,115512,115541,115756,115819,115835,115957, 115964,115986,116209,116408,116540,116549,116648,117382, 117504,117524,117594,117705,117946,117947,117964,118107, 118180,118197,118329,118434,118530,118647,118727,118901, 118921,118945,119296,119533,119585,119607,119703,119827, 119855,120070,120115,120164,120265,120300,120348,120376, 120419 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123939 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a4c6f8a0d0cc61ba92d776839fa2a78983ba5408 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:19:35 +0000 Subject: [PATCH 239/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120494 mrogers: Adding ignore for .settings git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123940 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 4df364387d61504049aa3a099d2f7e5c83f9bf2b Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:19:45 +0000 Subject: [PATCH 240/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120497 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 120491 mrogers: UTF-359 - Add WQS artifacts to upgrade package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123941 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 20 ++++++++++++++++++++ enterprise-update/pom.xml | 21 ++++++++++++++++++--- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 3ead03ea29..2f3395ac83 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -116,6 +116,26 @@ + + + false + true + resources/amp/platform + + org.alfresco:alfresco-wcmqs:amp:* + + + + + + false + true + resources/amp/share + + org.alfresco:alfresco-wcmqs-share:amp:* + + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 5ae6f4c518..796c1af83e 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -39,7 +39,7 @@ war - + org.alfresco.integrations alfresco-googledocs-repo @@ -55,7 +55,7 @@ enterprise amp - + org.alfresco @@ -64,6 +64,21 @@ amp + + + org.alfresco + alfresco-wcmqs + ${alfresco.share.version} + amp + + + + + org.alfresco + alfresco-wcmqs-share + ${alfresco.share.version} + amp + @@ -86,7 +101,7 @@ ${project.artifactId}-${installer.version.name} src/main/java - + src/main/resources From 67edb85b66f3e405b8fdaa5a316f6f8b183c052a Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:19:49 +0000 Subject: [PATCH 241/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 120532,120599,120702,120703,120710 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123942 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 72cb18c860e4d22c2997a0278b69da386e085051 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:03 +0000 Subject: [PATCH 242/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120727 aleahu: 120727 aleahu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 120639 mrogers: UTF-464 - update package should contain share-enterprise not share [community] on 5.0 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123943 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 796c1af83e..ebb249295d 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -26,7 +26,7 @@ org.alfresco - share + share-enterprise ${alfresco.share.version} war From df1d3d6936d2d0d0b59528f635fe34da7ff7e188 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:05 +0000 Subject: [PATCH 243/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 120728 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123944 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 91a0bc3d7c1a60c0612b1b72ca0a5eba35e2180e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:16 +0000 Subject: [PATCH 244/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120733 aleahu: Reverse merged WOLF-6 (WOLF.0.0) 120727 aleahu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 120639 mrogers: UTF-464 - update package should contain share-enterprise not share [community] on 5.0 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123945 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index ebb249295d..796c1af83e 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -26,7 +26,7 @@ org.alfresco - share-enterprise + share ${alfresco.share.version} war From 11fb11b04c949042439d33d8fe95c011fdf15cb1 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:21 +0000 Subject: [PATCH 245/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 120741,120754,120829,120900,120948,120974,121052 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123946 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 94da43f82718589f0d65faa94e56833e6ba95954 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:34 +0000 Subject: [PATCH 246/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121053 amorarasu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121032 mrogers: UTF-367 - The update tool needs to update the $ALF_HOME/README file in the root of $ALF_HOME git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123947 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 10 ++++++++ enterprise-update/pom.xml | 27 +++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 2f3395ac83..dce60e7c24 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -33,6 +33,16 @@ 0755 + + + + ${unpacked.alfresco.enterprise.distribution} + resources/distribution/platform + + README.txt + + keep + ${unpacked.update.tool}/bin diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 796c1af83e..9266ce850d 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -13,6 +13,7 @@ ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} + ${project.build.directory}/dependency/alfresco-enterprise-${project.version} @@ -88,6 +89,14 @@ zip + + + org.alfresco + alfresco-enterprise-distribution + ${project.version} + zip + + junit @@ -138,6 +147,24 @@ + + + unpack-alfresco-enterprise-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-enterprise-distribution + ${project.version} + true + zip + + + From 84960fd82276a4788f8dfb8f9c8d67748f290874 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:45 +0000 Subject: [PATCH 247/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121054 amorarasu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121039 mrogers: UTF-366 - Adding MMT.jar to update package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123948 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index dce60e7c24..107ce1d17f 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -43,6 +43,16 @@ keep + + + ${unpacked.alfresco.enterprise.distribution}/bin + resources/distribution/common + + alfresco-mmt.jar + alfresco-spring-encryptor.jar + + keep + ${unpacked.update.tool}/bin From ca01cee212dd6a6671e117ac76d84b5509e5a5e8 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:47 +0000 Subject: [PATCH 248/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121055 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123949 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 40fbba120a19fd53f6d9bf03e8b3da8be8598d17 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:20:57 +0000 Subject: [PATCH 249/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121081 mrogers: UTF-366 - add new test for update package that now contains bin/mmt.jar & rework for 5.1 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123950 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 6 +++--- enterprise-update/pom.xml | 14 +++++++------- .../update/packaging/PackagingIntegrationTest.java | 5 +++++ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 107ce1d17f..a3e65a99d7 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -36,7 +36,7 @@ - ${unpacked.alfresco.enterprise.distribution} + ${unpacked.alfresco.platform.distribution} resources/distribution/platform README.txt @@ -45,8 +45,8 @@ - ${unpacked.alfresco.enterprise.distribution}/bin - resources/distribution/common + ${unpacked.alfresco.platform.distribution}/bin + resources/distribution/common/bin alfresco-mmt.jar alfresco-spring-encryptor.jar diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 9266ce850d..19230a3f23 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -13,7 +13,7 @@ ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} - ${project.build.directory}/dependency/alfresco-enterprise-${project.version} + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} @@ -89,11 +89,11 @@ zip - + org.alfresco - alfresco-enterprise-distribution - ${project.version} + alfresco-platform-enterprise-distributionzip + ${alfresco.platform.version} zip @@ -157,9 +157,9 @@ - org.alfresco - alfresco-enterprise-distribution - ${project.version} + org.alfresco + alfresco-platform-enterprise-distributionzip + ${alfresco.platform.version} true zip diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index 97a720b2e8..80031b0b2b 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -66,6 +66,11 @@ public class PackagingIntegrationTest // Is the content sub-package present? assertPathPresent(paths, dirs[0] + "/resources/war/alfresco.war"); assertPathPresent(paths, dirs[0] + "/resources/war/share.war"); + + // Is the mmt in the correct place ? + assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-mmt.jar"); + assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); + } private void assertPathPresent(Set pathsToCheck, String expectedPath) From 006bb4126d523813fdff152df322a479026ef0ca Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:21:02 +0000 Subject: [PATCH 250/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121083 mrogers: Remove some maven warnings from updateTool.xml assembly git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123951 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index a3e65a99d7..45aab2332c 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -81,7 +81,7 @@ resources/war alfresco.war - org.alfresco:alfresco*:war + org.alfresco:alfresco-platform-enterprise:war @@ -92,7 +92,7 @@ resources/war share.war - org.alfresco:share*:war + org.alfresco:share:war @@ -103,7 +103,7 @@ resources/war solr4.war - org.alfresco:alfresco-solr4*:war + org.alfresco:alfresco-solr4:war From 9e267709fea04bbce7db16c1405e2f42f67278b1 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:21:34 +0000 Subject: [PATCH 251/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121089 mrogers: UTF-368 - Add the share specific README to the update package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123952 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 21 ++++++++++++++++ enterprise-update/pom.xml | 27 +++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 45aab2332c..92cc02b52f 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -44,6 +44,27 @@ keep + + + ${unpacked.alfresco.platform.distribution} + resources/distribution/platform_only + + README.txt + + keep + + + + + ${unpacked.alfresco.share.distribution} + resources/distribution/share_only + + README.txt + + keep + + + ${unpacked.alfresco.platform.distribution}/bin resources/distribution/common/bin diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 19230a3f23..bfd8d9cfbd 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -14,6 +14,7 @@ ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} @@ -97,6 +98,14 @@ zip + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + + junit @@ -165,6 +174,24 @@ + + + unpack-alfresco-share-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + true + zip + + + From d5a45a7c6eb1700db5d7fb3665cbbff9ac808b97 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:21:37 +0000 Subject: [PATCH 252/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121126,121131,121138 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123953 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 2e0ad70290528f670bb4615038b937c18d41025e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:22:02 +0000 Subject: [PATCH 253/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121209 mward: UTF-348: Tie the update tool version to the encompasing package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123954 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index bfd8d9cfbd..343ebf69d9 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -209,12 +209,16 @@ - ${unpacked.update.tool}/README.txt + ${unpacked.update.tool}/README.txt,${unpacked.update.tool}/package.properties @Version@ ${version} + + @UpdateAssistantVersion@ + ${alfresco.updatetool.version} + From ba9f974e2dffce2b5bff9fff0acbe71e296dd18a Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:22:04 +0000 Subject: [PATCH 254/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121239 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123955 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From f0f654ab6e96725af90fc5a8e695eb3922e7e17c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:22:44 +0000 Subject: [PATCH 255/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121294 mward: UTF-348: include filtered package.properties in package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123956 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 92cc02b52f..2af5a242b0 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -40,6 +40,7 @@ resources/distribution/platform README.txt + package.properties keep @@ -50,6 +51,7 @@ resources/distribution/platform_only README.txt + package.properties keep @@ -60,6 +62,7 @@ resources/distribution/share_only README.txt + package.properties keep @@ -88,6 +91,7 @@ README.txt + package.properties unix From 30762e80ea7c3b94fe01f6c13fc6981387234386 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:22:46 +0000 Subject: [PATCH 256/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121306 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123957 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From b0d2aef6052432834888d1ea995eee985625ef7e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:23:04 +0000 Subject: [PATCH 257/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121307 amorarasu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121251 mrogers: UTF-365 - Adding Update Script to the 5.0 update package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123958 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 11 +++++++++++ enterprise-update/pom.xml | 3 +++ .../src/main/resources/script/5.0/update5-0.auas | 5 +++++ .../src/main/resources/script/5.1/update5-1.auas | 4 ++++ 4 files changed, 23 insertions(+) create mode 100644 enterprise-update/src/main/resources/script/5.0/update5-0.auas create mode 100644 enterprise-update/src/main/resources/script/5.1/update5-1.auas diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 2af5a242b0..6d8727a9fd 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -95,6 +95,17 @@ unix + + + ${unpacked.update.script} + /resources/script + + *.auas + + keep + + + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 343ebf69d9..34056fcda5 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -15,6 +15,9 @@ ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} + + + ${project.build.directory}/classes/script/${version.major}.${version.minor} diff --git a/enterprise-update/src/main/resources/script/5.0/update5-0.auas b/enterprise-update/src/main/resources/script/5.0/update5-0.auas new file mode 100644 index 0000000000..2256121636 --- /dev/null +++ b/enterprise-update/src/main/resources/script/5.0/update5-0.auas @@ -0,0 +1,5 @@ +// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.0 +// update5-0.auas + +DELETE /tomcat/endorsed/xalan.jar +DELETE /tomcat/endorsed/serializer.jar \ No newline at end of file diff --git a/enterprise-update/src/main/resources/script/5.1/update5-1.auas b/enterprise-update/src/main/resources/script/5.1/update5-1.auas new file mode 100644 index 0000000000..3910132c08 --- /dev/null +++ b/enterprise-update/src/main/resources/script/5.1/update5-1.auas @@ -0,0 +1,4 @@ +// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.1 +// update5-1.auas + +// EMPTY AT THE MOMENT From f3ee061922ee153de2fe7e9ddde5fc5bfa43abba Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:23:07 +0000 Subject: [PATCH 258/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121308,121405 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123959 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 1cb422eadf140fde729176eb3ea73d55e4b9a5c3 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:23:16 +0000 Subject: [PATCH 259/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121406 rmunteanu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121352 mrogers: Correcting upgrade assistant script git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123960 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../src/main/resources/script/5.0/update5-0.auas | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise-update/src/main/resources/script/5.0/update5-0.auas b/enterprise-update/src/main/resources/script/5.0/update5-0.auas index 2256121636..078afab98c 100644 --- a/enterprise-update/src/main/resources/script/5.0/update5-0.auas +++ b/enterprise-update/src/main/resources/script/5.0/update5-0.auas @@ -1,5 +1,5 @@ // ALFRESCO UPDATE ASSISTANT SCRIPT for 5.0 // update5-0.auas -DELETE /tomcat/endorsed/xalan.jar -DELETE /tomcat/endorsed/serializer.jar \ No newline at end of file +DELETE /tomcat/endorsed/xalan-2.7.2.jar +DELETE /tomcat/endorsed/serializer-2.7.2.jar \ No newline at end of file From f639702e15f593a76c614bce8343d05dac2cef13 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:23:21 +0000 Subject: [PATCH 260/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121407,121449,121486 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123961 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 75725653a13e8a84183e6fadfad5aadb7aa4388b Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:23:27 +0000 Subject: [PATCH 261/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121487 abalmus: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121456 mrogers: UTF-373 - Add _vti_bin.war to 5.0 update package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123962 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 6d8727a9fd..0510e8e07f 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -77,6 +77,15 @@ keep + + + ${unpacked.alfresco.enterprise.distribution}/web-server/webapps + resources/war + + _vti_bin.war + + keep + ${unpacked.update.tool}/bin From 26f52eb8143078b12849ece6c431d9025e2f5264 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:23:30 +0000 Subject: [PATCH 262/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121490 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123963 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e38c75463eec1caf29a1c1db75a62de4fbcb59b5 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:23:58 +0000 Subject: [PATCH 263/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121560 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121460 mrogers: UTF-375 - added awe.war and also simplified update build to use the wqs distribution package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123964 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 51 +++++++++++---------- enterprise-update/pom.xml | 32 ++++++++----- 2 files changed, 48 insertions(+), 35 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 0510e8e07f..620709ba67 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -113,8 +113,32 @@ keep - - + + + + ${unpacked.alfresco.wcmqs.distribution} + resources/amp/platform + + alfresco-wcmqs.amp + + + + + ${unpacked.alfresco.wcmqs.distribution} + resources/amp/share + + alfresco-wcmqs-share.amp + + + + + ${unpacked.alfresco.wcmqs.distribution} + resources/war + + *.war + + + @@ -179,28 +203,7 @@ org.alfresco.integrations:alfresco-googledocs-share:amp:enterprise:* - - - - - false - true - resources/amp/platform - - org.alfresco:alfresco-wcmqs:amp:* - - - - - - false - true - resources/amp/share - - org.alfresco:alfresco-wcmqs-share:amp:* - - - + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 34056fcda5..53788b6e4a 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -15,6 +15,7 @@ ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} + ${project.build.directory}/dependency/wcmqs-${project.version} ${project.build.directory}/classes/script/${version.major}.${version.minor} @@ -69,20 +70,11 @@ amp - org.alfresco - alfresco-wcmqs + alfresco-wcmqs-distribution ${alfresco.share.version} - amp - - - - - org.alfresco - alfresco-wcmqs-share - ${alfresco.share.version} - amp + zip @@ -142,6 +134,24 @@ org.apache.maven.plugins maven-dependency-plugin + + unpack-wcmqs-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-wcmqs-distribution + ${alfresco.share.version} + zip + ${unpacked.alfresco.wcmqs.distribution} + + + + unpack-update-tool-distribution generate-resources From 927d1af23bc2763ee7afd51cdb433daec8e14396 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:00 +0000 Subject: [PATCH 264/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121638 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123965 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 60831e816bf04203cbf8cda91b2551e1f96914bf Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:10 +0000 Subject: [PATCH 265/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121668 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121665 mrogers: Remove un-used update assembly git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123966 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/update.xml | 39 ------------------------- 1 file changed, 39 deletions(-) delete mode 100644 enterprise-update/assemblies/update.xml diff --git a/enterprise-update/assemblies/update.xml b/enterprise-update/assemblies/update.xml deleted file mode 100644 index 74674a26a3..0000000000 --- a/enterprise-update/assemblies/update.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - update - - zip - - - false - - - - - false - true - assets/web-server/webapps - alfresco.war - - org.alfresco:alfresco-platform-enterprise:war - - - - - - false - true - assets/web-server/webapps - share.war - - org.alfresco:share:war - - - - - - From e0b5123bca3ffab5ada9c3d31b4fc4026a8b81b9 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:20 +0000 Subject: [PATCH 266/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121669 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121667 mrogers: UTF-370 - Get rid of the .tgz archive git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123967 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 620709ba67..ad4df5cd82 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -7,7 +7,6 @@ update-tool zip - tgz true From d02014dca32a3edacb985f0ff3b740bc70476cc8 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:22 +0000 Subject: [PATCH 267/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121683 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123968 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 31137f6ebe06290df8860c36613dc9da34e75fe2 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:28 +0000 Subject: [PATCH 268/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121758 nsmintanca: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121690 mrogers: UTF-370 - Replace TgZFormatIntegrationTest with ZipFormatIntegrationTest git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123969 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ...est.java => ZipFormatIntegrationTest.java} | 252 +++++++++--------- 1 file changed, 124 insertions(+), 128 deletions(-) rename enterprise-update/src/test/java/org/alfresco/update/pkg/test/{TgzFormatIntegrationTest.java => ZipFormatIntegrationTest.java} (69%) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java similarity index 69% rename from enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java rename to enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java index 30a33760dd..9617d1b070 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/TgzFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java @@ -1,128 +1,124 @@ -/* - * Copyright 2005-2015 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.pkg.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; - -import org.apache.commons.compress.archivers.ArchiveException; -import org.apache.commons.compress.archivers.ArchiveStreamFactory; -import org.apache.commons.compress.archivers.tar.TarArchiveEntry; -import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; -import org.apache.commons.compress.compressors.CompressorException; -import org.apache.commons.compress.compressors.CompressorInputStream; -import org.apache.commons.compress.compressors.CompressorStreamFactory; -import org.junit.Before; -import org.junit.Test; - -/** - * Tests for the tgz format packaging. - * - * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: - *
- *   -Dalfresco.update.package.tgz=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
- * 
- * - * @author Matt Ward - */ -public class TgzFormatIntegrationTest extends AbstractIntegrationTest -{ - private boolean found; - - File updatePackage; - - @Before - public void setUp() throws Exception - { - super.setUp(); - String pkgName = System.getProperty("alfresco.update.package.tgz"); - assertNotNull("Could not determine package name.", pkgName); - updatePackage = new File(pkgName); - } - - public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; - - @Test - public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException - { - - if (runningOnWindows()) - { - // This is a Unix only test. - return; - } - - assertTrue("File does not exist: "+ updatePackage, updatePackage.exists()); - FileInputStream fis = null; - try - { - fis = new FileInputStream(updatePackage); - - handleArchiveEntries(fis, new ArchiveEntryHandler() - { - @Override - public boolean handle(TarArchiveEntry entry) - { - System.out.println("Handling tar entry: "+entry.getName()); - if (entry.getName().contains("/apply_updates.sh")) - { - System.out.println("Found the unix shell wrapper script."); - - final int expectedPerms = 0755; - // Other bits may be set, but check 755 octal are set. - System.out.println("File has permissions: "+Integer.toString(entry.getMode(), 8)); - assertEquals(expectedPerms, entry.getMode() & expectedPerms); - found = true; - } - return !found; - } - }); - - assertTrue("apply_updates.sh is a required file.", found); - } - finally - { - if (fis != null) - { - fis.close(); - } - } - } - - private static interface ArchiveEntryHandler - { - boolean handle(TarArchiveEntry entry); - } - - private void handleArchiveEntries(InputStream raw, ArchiveEntryHandler handler) throws ArchiveException, IOException, CompressorException - { - try - ( - BufferedInputStream bis = new BufferedInputStream(raw); - CompressorInputStream gzIs = new CompressorStreamFactory().createCompressorInputStream(bis); - BufferedInputStream bgzIs = new BufferedInputStream(gzIs); - TarArchiveInputStream aris = (TarArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream(bgzIs); - ) - { - TarArchiveEntry entry = null; - boolean carryOn = true; - while (carryOn && (entry = aris.getNextTarEntry()) != null) - { - carryOn = handler.handle(entry); - } - } - } -} +/* + * Copyright 2005-2015 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.pkg.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; + +import org.apache.commons.compress.archivers.ArchiveException; +import org.apache.commons.compress.archivers.ArchiveStreamFactory; +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; +import org.apache.commons.compress.compressors.CompressorException; +import org.apache.commons.compress.compressors.CompressorInputStream; +import org.apache.commons.compress.compressors.CompressorStreamFactory; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests for the tgz format packaging. + * + * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: + *
+ *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
+ * 
+ * + * @author Matt Ward + */ +public class ZipFormatIntegrationTest extends AbstractIntegrationTest +{ + private boolean found; + + @Before + public void setUp() throws Exception + { + super.setUp(); + } + + public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; + + @Test + public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException + { + + if (runningOnWindows()) + { + // This is a Unix only test. + return; + } + + File archive = new File(targetDir, ARTIFACT_NAME+version+".zip"); + assertTrue("File does not exist: "+archive, archive.exists()); + FileInputStream fis = null; + try + { + fis = new FileInputStream(archive); + + handleArchiveEntries(fis, new ArchiveEntryHandler() + { + @Override + public boolean handle(ZipArchiveEntry entry) + { + System.out.println("Handling tar entry: "+entry.getName()); + if (entry.getName().equals(ARTIFACT_NAME+version+"/apply_updates.sh")) + { + System.out.println("Found the unix shell wrapper script."); + + final int expectedPerms = 0755; + // Other bits may be set, but check 755 octal are set. + System.out.println("File has permissions: "+Integer.toString(entry.getUnixMode(), 8)); + assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); + found = true; + } + return !found; + } + }); + + assertTrue("apply_updates.sh is a required file.", found); + } + finally + { + if (fis != null) + { + fis.close(); + } + } + } + + private static interface ArchiveEntryHandler + { + boolean handle(ZipArchiveEntry entry); + } + + private void handleArchiveEntries(InputStream raw, ArchiveEntryHandler handler) throws ArchiveException, IOException, CompressorException + { + try + ( + BufferedInputStream bis = new BufferedInputStream(raw); + //CompressorInputStream gzIs = new CompressorStreamFactory().createCompressorInputStream(bis); + BufferedInputStream bgzIs = new BufferedInputStream(bis); + ZipArchiveInputStream aris = (ZipArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream(bgzIs); + ) + { + ZipArchiveEntry entry = null; + boolean carryOn = true; + while (carryOn && (entry = aris.getNextZipEntry()) != null) + { + carryOn = handler.handle(entry); + } + } + } +} From 9ae6a69aed8181d2cd9c698f814aed262af92c6c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:30 +0000 Subject: [PATCH 269/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121759 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123970 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e4492724fc227c6171af48b9fc6a00f803733b0f Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:38 +0000 Subject: [PATCH 270/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121760 nsmintanca: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121725 mrogers: UTF-370 - Disable permissions unit test. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123971 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../pkg/test/ZipFormatIntegrationTest.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java index 9617d1b070..482be71f83 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java @@ -50,16 +50,11 @@ public class ZipFormatIntegrationTest extends AbstractIntegrationTest public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; + // TODO - Test step commented out below @Test public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException { - - if (runningOnWindows()) - { - // This is a Unix only test. - return; - } - + File archive = new File(targetDir, ARTIFACT_NAME+version+".zip"); assertTrue("File does not exist: "+archive, archive.exists()); FileInputStream fis = null; @@ -80,7 +75,15 @@ public class ZipFormatIntegrationTest extends AbstractIntegrationTest final int expectedPerms = 0755; // Other bits may be set, but check 755 octal are set. System.out.println("File has permissions: "+Integer.toString(entry.getUnixMode(), 8)); - assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); + + /** + * TODO - TEST STEP COMMENTED OUT + * I can't get this to work on windows or the build boxes - the mode is 0 + * However it does appear to work in real life! + * I've also tried replacing the apache.commons zip file utilities with + * the Java IO classes + */ +// assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); found = true; } return !found; From 456ab125aebd2368cfef5c8ad745511e820789fe Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:40 +0000 Subject: [PATCH 271/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121857 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123972 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 2cac50473187bc6b1d2f64946ead33541b5c09b3 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:24:58 +0000 Subject: [PATCH 272/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121858 nsmintanca: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121838 mward: UTF-370: fixed and added back apply_updates.sh executable bit tests. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123973 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../pkg/test/ZipFormatIntegrationTest.java | 99 ++++--------------- 1 file changed, 21 insertions(+), 78 deletions(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java index 482be71f83..60e3a0cd93 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java @@ -8,23 +8,17 @@ package org.alfresco.update.pkg.test; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import java.io.BufferedInputStream; import java.io.File; -import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; -import java.io.InputStream; +import java.util.Enumeration; import org.apache.commons.compress.archivers.ArchiveException; -import org.apache.commons.compress.archivers.ArchiveStreamFactory; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; +import org.apache.commons.compress.archivers.zip.ZipFile; import org.apache.commons.compress.compressors.CompressorException; -import org.apache.commons.compress.compressors.CompressorInputStream; -import org.apache.commons.compress.compressors.CompressorStreamFactory; import org.junit.Before; import org.junit.Test; @@ -39,89 +33,38 @@ import org.junit.Test; * @author Matt Ward */ public class ZipFormatIntegrationTest extends AbstractIntegrationTest -{ - private boolean found; - +{ + public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; + @Before public void setUp() throws Exception { super.setUp(); } - public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; - - // TODO - Test step commented out below @Test public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException - { - + { File archive = new File(targetDir, ARTIFACT_NAME+version+".zip"); assertTrue("File does not exist: "+archive, archive.exists()); - FileInputStream fis = null; - try + try (ZipFile zipFile = new ZipFile(archive)) { - fis = new FileInputStream(archive); - - handleArchiveEntries(fis, new ArchiveEntryHandler() - { - @Override - public boolean handle(ZipArchiveEntry entry) + Enumeration e = zipFile.getEntries(); + boolean found = false; + while (!found && e.hasMoreElements()) + { + ZipArchiveEntry entry = e.nextElement(); + File f = new File(entry.getName()); + if (f.getName().equalsIgnoreCase("apply_updates.sh")) { - System.out.println("Handling tar entry: "+entry.getName()); - if (entry.getName().equals(ARTIFACT_NAME+version+"/apply_updates.sh")) - { - System.out.println("Found the unix shell wrapper script."); - - final int expectedPerms = 0755; - // Other bits may be set, but check 755 octal are set. - System.out.println("File has permissions: "+Integer.toString(entry.getUnixMode(), 8)); - - /** - * TODO - TEST STEP COMMENTED OUT - * I can't get this to work on windows or the build boxes - the mode is 0 - * However it does appear to work in real life! - * I've also tried replacing the apache.commons zip file utilities with - * the Java IO classes - */ -// assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); - found = true; - } - return !found; + found = true; + System.out.println("Found the unix shell wrapper script."); + final int expectedPerms = 0755; + // Other bits may be set, but check 755 octal are set. + System.out.println("File has permissions: "+Integer.toString(entry.getUnixMode(), 8)); + assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); } - }); - - assertTrue("apply_updates.sh is a required file.", found); - } - finally - { - if (fis != null) - { - fis.close(); - } - } - } - - private static interface ArchiveEntryHandler - { - boolean handle(ZipArchiveEntry entry); - } - - private void handleArchiveEntries(InputStream raw, ArchiveEntryHandler handler) throws ArchiveException, IOException, CompressorException - { - try - ( - BufferedInputStream bis = new BufferedInputStream(raw); - //CompressorInputStream gzIs = new CompressorStreamFactory().createCompressorInputStream(bis); - BufferedInputStream bgzIs = new BufferedInputStream(bis); - ZipArchiveInputStream aris = (ZipArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream(bgzIs); - ) - { - ZipArchiveEntry entry = null; - boolean carryOn = true; - while (carryOn && (entry = aris.getNextZipEntry()) != null) - { - carryOn = handler.handle(entry); - } + } } } } From ec2484e7ff197ac8823feec9a05e34e46cb28699 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:25:01 +0000 Subject: [PATCH 273/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121992,122038 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123974 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 42b71c69aabe8f95c5ea297a5c3f3bcb80414a24 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:26:16 +0000 Subject: [PATCH 274/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122086 mrogers: UTF-379 - add new test project. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123975 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 12 ++++++++++++ pom.xml | 1 + 2 files changed, 13 insertions(+) create mode 100644 enterprise-update-test/pom.xml diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml new file mode 100644 index 0000000000..7f963b8695 --- /dev/null +++ b/enterprise-update-test/pom.xml @@ -0,0 +1,12 @@ + + 4.0.0 + alfresco-enterprise-update-test + End to end test of the installer and update + + org.alfresco + alfresco-full-installation + 5.1.1-SNAPSHOT + + pom + + diff --git a/pom.xml b/pom.xml index dff4dbdb2e..2bbdde16bd 100644 --- a/pom.xml +++ b/pom.xml @@ -81,6 +81,7 @@ enterprise-distribution enterprise-update enterprise-installer + enterprise-update-test From 9703d9e09b83097c8f7f00ff24b4093d640ce611 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:26:18 +0000 Subject: [PATCH 275/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122095,122124 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123976 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 6a2a088c0f689d1689d9ac1ded8d5924bce72944 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:26:28 +0000 Subject: [PATCH 276/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122137 mrogers: Fix merge error. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123977 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../pkg/test/ZipFormatIntegrationTest.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java index 60e3a0cd93..98e514af34 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java @@ -9,6 +9,7 @@ package org.alfresco.update.pkg.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNotNull; import java.io.File; import java.io.FileNotFoundException; @@ -34,20 +35,23 @@ import org.junit.Test; */ public class ZipFormatIntegrationTest extends AbstractIntegrationTest { - public final String ARTIFACT_NAME="alfresco-enterprise-update-package-"; - + + File updatePackage; + @Before public void setUp() throws Exception { super.setUp(); + String pkgName = System.getProperty("alfresco.update.package.zip"); + assertNotNull("Could not determine package name.", pkgName); + updatePackage = new File(pkgName); } @Test public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException - { - File archive = new File(targetDir, ARTIFACT_NAME+version+".zip"); - assertTrue("File does not exist: "+archive, archive.exists()); - try (ZipFile zipFile = new ZipFile(archive)) + { + assertTrue("File does not exist: "+ updatePackage, updatePackage.exists()); + try (ZipFile zipFile = new ZipFile(updatePackage)) { Enumeration e = zipFile.getEntries(); boolean found = false; From 6a363e63ca340a65575fd1a029e9ecd417f4524c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:29:05 +0000 Subject: [PATCH 277/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122157 mrogers: UTF-380 - Work in progress. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123979 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 69 ++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 7f963b8695..b80ceec4fe 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -9,4 +9,73 @@ pom + + + + 20160203-SNAPSHOT-664 + ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${update.base.version} + + + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + + unpack-alfresco-enterprise-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-platform-enterprise-distributionzip + ${alfresco.platform.version} + true + zip + + + + + + + + + + unpack-update-package + generate-resources + + unpack + + + + + org.alfresco + alfresco-enterprise-update-package + ${project.version} + true + zip + + + + + + + + + + + + + From 8a49ca2e61bd4601a89ddbb40500ab6291337948 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:30:53 +0000 Subject: [PATCH 278/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122162 mrogers: UTF-380 - Add install steps git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123980 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 222 +++++++++++++++++++++++---------- 1 file changed, 159 insertions(+), 63 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index b80ceec4fe..a91192fd59 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -9,73 +9,169 @@ pom - - - - 20160203-SNAPSHOT-664 - ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${update.base.version} - + + + + 5.1.0 + ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} - + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + -
+ - - - - org.apache.maven.plugins - maven-dependency-plugin - - - - unpack-alfresco-enterprise-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-platform-enterprise-distributionzip - ${alfresco.platform.version} - true - zip - - - - - - - - - - unpack-update-package - generate-resources - - unpack - - - - - org.alfresco - alfresco-enterprise-update-package - ${project.version} - true - zip - - - - - - - - + + + junit + junit + 4.12 + test + - + - + + + + org.apache.maven.plugins + maven-dependency-plugin + + + + + unpack-update-package + generate-resources + + unpack + + + + + org.alfresco + alfresco-enterprise-update-package + ${project.version} + true + zip + + + + + + + + + + maven-antrun-plugin + + + fetch-installer + generate-test-resources + + run + + + + + + + + + + + + Downloading Alfresco installer to + ${installer.location}... + + + + + + Installing Alfresco... + + + + + + + + + + org.apache.ant + ant-jsch + 1.8.2 + + + ant-contrib + ant-contrib + 1.0b3 + + + ant + ant + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + default-test + test + + test + + + + **/*IntegrationTest.java + + true + alphabetical + + + + integration-test + integration-test + + test + + + false + ${project.build.directory} + true + alphabetical + + none + + + **/*IntegrationTest.java + + + ${project.artifactId}-${installer.version.name}.zip + ${project.build.directory} + + + + + + + + + + + + + From ddc76b5db712ab38a7fb4ba08bccda78f82b275c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:31:20 +0000 Subject: [PATCH 279/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122172 mrogers: UTF-380 Temp build fix git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123981 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index a91192fd59..91c1c1d13b 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -16,6 +16,9 @@ ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + + + ALF-EPACK3-106 From 94e7c5291532b72b18c6f9c026be9261c5fd6e6c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:31:44 +0000 Subject: [PATCH 280/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122179 mrogers: UTF-380 Try again. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123982 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 35 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 91c1c1d13b..278d469fe8 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -10,15 +10,15 @@ pom + + 5.1.0 - ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} - - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} - - ALF-EPACK3-106 + + + ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} @@ -78,27 +78,24 @@ - + - - Downloading Alfresco installer to - ${installer.location}... - - + + Downloading Base Alfresco installer to + ${base.installer.location}... + - - Installing Alfresco... - Installing The Base Versoion of Alfresco... + + line="--mode unattended --alfresco_admin_password admin --disable-components postgres,alfrescowcmqs --jdbc_username alfresco --jdbc_password alfresco --prefix ${basedir}/target/base-alf-installation --tomcat_server_domain ${HOSTNAME}" /> From 9431b09af81c0974f7d13928fe4b7eb09a61d49c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:32:10 +0000 Subject: [PATCH 281/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122186 mrogers: UTF-380 Now should update both source and target instances of alfresco. (They are both the same but that should allow us to progress with building the rest of build.) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123983 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 79 ++++++++++++++++++++++++++++------ 1 file changed, 65 insertions(+), 14 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 278d469fe8..0da3087454 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -10,15 +10,27 @@ pom - - - + + + 5.1.0 - - - - ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} + https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160203-SNAPSHOT-664-linux-x64.bin + https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160203-SNAPSHOT-664-linux-x64.bin + + + ${project.build.directory}/test-data/base-alf-installation + ${project.build.directory}/test-data/update-alf-installation + + + --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco + --tomcat_server_domain ${HOSTNAME} + --enable-components javaalfresco,postgres,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs + --alfrescocustomstack_services_startup demand + + + ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} @@ -62,7 +74,8 @@ - + maven-antrun-plugin @@ -76,6 +89,15 @@ + + + + + + + + + @@ -85,17 +107,46 @@ location="${basedir}/target/base-alf-installer.bin" /> Downloading Base Alfresco installer to ${base.installer.location}... - + + + + - - Installing The Base Versoion of Alfresco... + + + + + + + + + Downloading This Alfresco installer to + ${this.installer.location}... + + + + + + + + Installing The base Version of Alfresco... to + ${base.alfresco.instance} + line="${installer.args} --prefix ${base.alfresco.instance} " /> + + + Installing This Version of Alfresco... to + ${update.alfresco.instance} + + From 484eabbb20de208e8c2a4bd43aa36d8bb6f0c78c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:32:29 +0000 Subject: [PATCH 282/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122189 mrogers: For now we have a hard coded url and its just changed. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123984 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 0da3087454..9dc78d6431 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -16,8 +16,10 @@ 5.1.0 - https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160203-SNAPSHOT-664-linux-x64.bin - https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160203-SNAPSHOT-664-linux-x64.bin + https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160212-SNAPSHOT-665-linux-x64.bin + + + https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160212-SNAPSHOT-665-linux-x64.bin ${project.build.directory}/test-data/base-alf-installation From 206255a931c160b1985ddee65accb4971dc7900f Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:32:58 +0000 Subject: [PATCH 283/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122191 mrogers: Try again git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123985 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 9dc78d6431..f6dc7aa383 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -27,8 +27,7 @@ --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco - --tomcat_server_domain ${HOSTNAME} - --enable-components javaalfresco,postgres,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs + --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs --alfrescocustomstack_services_startup demand From e9776b1c1976fd55975a22a3c4cbe48ba6af1d4a Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:33:31 +0000 Subject: [PATCH 284/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122231 mrogers: UTF-382 - Added the skeleton of the End to End update test. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123986 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 26 +- .../src/test/java/EndToEndTest.java | 248 ++++++++++++++++++ 2 files changed, 269 insertions(+), 5 deletions(-) create mode 100644 enterprise-update-test/src/test/java/EndToEndTest.java diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index f6dc7aa383..095cea0195 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -8,6 +8,14 @@ 5.1.1-SNAPSHOT pom + + @@ -15,6 +23,7 @@ and this version's installer e.g. 5.1.0.4-SNAPSHOT --> + 5.1.0 https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160212-SNAPSHOT-665-linux-x64.bin @@ -23,15 +32,15 @@ ${project.build.directory}/test-data/base-alf-installation - ${project.build.directory}/test-data/update-alf-installation - + ${project.build.directory}/test-data/this-alf-installation + --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs --alfrescocustomstack_services_startup demand - ${project.build.directory}/dependency/alfresco-enterprise-update-package-${project.version} + ${project.build.directory}/test-data/alfresco-enterprise-update-package @@ -67,6 +76,7 @@ alfresco-enterprise-update-package ${project.version} true + ${unpacked.update.package} zip @@ -143,11 +153,11 @@ Installing This Version of Alfresco... to - ${update.alfresco.instance} + ${this.alfresco.instance} - + @@ -190,6 +200,12 @@ true alphabetical + + ${alfresco.update.package} + ${project.build.directory} + ${this.alfresco.instance} + ${base.alfresco.instance} + diff --git a/enterprise-update-test/src/test/java/EndToEndTest.java b/enterprise-update-test/src/test/java/EndToEndTest.java new file mode 100644 index 0000000000..b862e8850c --- /dev/null +++ b/enterprise-update-test/src/test/java/EndToEndTest.java @@ -0,0 +1,248 @@ +/* + * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ + +import static org.junit.Assert.*; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.util.ArrayList; + +import org.junit.Before; +import org.junit.Test; + +public class EndToEndTest +{ + private final static String JAR_FILE_NAME = "alfresco-update-tool.jar"; + + File targetDir; + + private String getBasePath() + { + String basePath = System.getProperty("base.alfresco.instance"); + if (basePath == null) + { + basePath = "./test-data/base-alf-installation"; + } + File base = new File(targetDir, basePath); + assertTrue("base instance does not exist :" + base, base.exists()); + + return base.getAbsolutePath(); + } + + private String getThisPath() + { + String basePath = System.getProperty("this.alfresco.instance"); + if (basePath == null) + { + basePath = "./test-data/this-alf-installation"; + } + File base = new File(targetDir, basePath); + assertTrue("this instance (the one to update) does not exist :" + base, base.exists()); + + return base.getAbsolutePath(); + } + + private String getUpdatePath() + { + String basePath = System.getProperty("unpacked.update.package"); + if (basePath == null) + { + basePath = "./test-data/alfresco-enterprise-update-package"; + } + File base = new File(targetDir, basePath); + assertTrue(base.isDirectory()); + assertTrue("the update package does not exist :" + base, base.exists()); + String[] dirs = base.list(); + assertTrue(dirs.length == 1); + + return new File(base, dirs[0]).getAbsolutePath(); + } + + private void initTargetDir() + { + String targetDir = System.getProperty("alfresco.target.dir"); + if (targetDir == null) + { + targetDir = "./target"; // test needs to be run in target dir. + } + this.targetDir = new File(targetDir); + assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); + } + + @Before + public void setUp() throws Exception + { + initTargetDir(); + } + + + @Test + public void testEndToEndUpdate() throws Exception + { + File updateThisOne = new File(getBasePath()); + + File referenceInstance = new File(getThisPath()); + + File updatePackage = new File(getUpdatePath()); + + // Run the update + runUpdateTool(updateThisOne, updatePackage); + + // Run the diff tool + compare(referenceInstance, updateThisOne); + + } + + /** + * Run the update tool + */ + public void runUpdateTool(File instanceToUpdate, File updatePackage) throws Exception + { + // expect to find jar at "lib/alfresco-update-tool.jar" + File jar = new File(updatePackage, "lib/" + JAR_FILE_NAME); + assertTrue("lib/" + JAR_FILE_NAME, jar.exists()); + + // expect to find update resources + + String options = " --assumeyes -u " + updatePackage; + String cmd = "java -jar " + jar.getAbsolutePath() + options + " " + instanceToUpdate.getPath(); + + boolean found = runCommand( + targetDir, + cmd, + null, + 0, + "The update was successful" + ); + + assertTrue("The update was successful", found); + + } + + /** + * Run the diff tool + * + * @param src + * @param dest + */ + public void compare(File src, File dest) + { + //assertTrue("test not implemented", false); + } + + /* + * Method to execute a command + * + * This variant of runCommand takes multiple expected messages. + * If a message is repeated twice in expectedMessage then the message must appear in + * the command line output at least twice to return true. + * + * @param targetLocation location for executing the command + * @param cmd the command to be executed + * @param input - input for command line prompts, may be null if not required + * @param expectedMessage... messages to be verified + * @param expectedReturnCode 0 for success + * @return true the messages are all found + * @throws IOException + */ + public boolean runCommand(File targetLocation, String cmd, String[] input, int expectedReturnCode, String... expectedMessage) throws IOException, InterruptedException + { + Runtime rt = Runtime.getRuntime(); + String line = null; + Process pr = rt.exec(cmd, null, targetLocation); + if(input != null && input.length > 0) + { + Input inputThread = new Input(pr.getOutputStream(), input); + inputThread.start(); + } + + ArrayList toFind = new ArrayList(); + for(int i = 0; i < expectedMessage.length; i++) + { + toFind.add(expectedMessage[i]); + } + + int found; + try (BufferedReader out = new BufferedReader(new InputStreamReader(pr.getInputStream()))) + { + while ((line = out.readLine()) != null) + { + found = -1; + for(int i = 0; i < toFind.size() ; i++) + { + if (line.contains(toFind.get(i))) + { + found = i; + } + } + System.out.println(line); + + if(found >= 0) + { + toFind.remove(found); + } + } + } + + int retCode = pr.waitFor(); + + if(retCode != expectedReturnCode) + { + System.out.println("Not expected return code expected:" + expectedReturnCode + " actual: " + retCode); + return false; + } + + if(toFind.size() == 0) + { + return true; + } + + System.out.println("Did not find expected message: " + toFind); + + return false; + } + + /** + * + */ + protected class Input extends Thread + { + OutputStream is; + String[] input; + + Input(OutputStream is, String[] input) + { + this.is = is; + this.input = input; + } + + public void run() + { + try (BufferedWriter in = new BufferedWriter(new OutputStreamWriter(is));) + { + for (String line : input) + { + in.write(line); + in.newLine(); + System.out.println("wrote : " + line); + } + } + catch (IOException e) + { + + } + } + } + + +} From 1c19cfd4714be1d17a151ab0107ee84b8afe76a1 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:33:33 +0000 Subject: [PATCH 285/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122613,122620 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123987 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From b67305d17c2d0c62ee6fe7262d9a7b106ffab0e4 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:37:49 +0000 Subject: [PATCH 286/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122643 mrogers: UTF-371 - Add AOS to the update package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123988 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 15 ++++++++++++-- enterprise-update/pom.xml | 23 ++++++++++++++++++++- pom.xml | 4 ++-- 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index ad4df5cd82..241dec6cb8 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -77,11 +77,22 @@ keep + - ${unpacked.alfresco.enterprise.distribution}/web-server/webapps + ${unpacked.org.alfresco.aos.distribution} resources/war - _vti_bin.war + *.war + + keep + + + + + ${unpacked.org.alfresco.aos.distribution} + resources/amp/platform + + *.amp keep diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 53788b6e4a..f01bfa931c 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -16,7 +16,8 @@ ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} ${project.build.directory}/dependency/wcmqs-${project.version} - + ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} + ${project.build.directory}/classes/script/${version.major}.${version.minor} @@ -206,6 +207,26 @@ + + + unpack-aos-distribution + generate-resources + + unpack + + + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} + true + zip + ${unpacked.org.alfresco.aos.distribution} + + + + diff --git a/pom.xml b/pom.xml index 2bbdde16bd..db61c1276a 100644 --- a/pom.xml +++ b/pom.xml @@ -23,8 +23,8 @@ 1.0-SNAPSHOT - - + + 1.1 From 6843c4b5b20e0f79771cb7fd9b404aeec5e4cdd6 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:37:51 +0000 Subject: [PATCH 287/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122662 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123989 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From ef4b24d2a65538ccdc2518690136e2c2e6d18214 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:38:17 +0000 Subject: [PATCH 288/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122672 mward: Changed language level to 1.7 so that IDEs may pick up the correct configuration. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123990 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 095cea0195..c423f66a7c 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -57,6 +57,15 @@ + + org.apache.maven.plugins + maven-compiler-plugin + 3.5.1 + + 1.7 + 1.7 + + org.apache.maven.plugins maven-dependency-plugin From ca1409b55bc2c9c3e2bc064c620fcdc9efe69f68 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:44:11 +0000 Subject: [PATCH 289/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122680 mward: UTF-383: moved diff tool from update-tool to full-installer code base. Had erroneously added the code to the wrong project. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123991 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 31 ++ .../dircomp/CaseSensitivePathComparator.java | 28 ++ .../update/tool/dircomp/FileTreeCompare.java | 22 ++ .../tool/dircomp/FileTreeCompareImpl.java | 241 ++++++++++++++ .../tool/dircomp/HtmlResultFormatter.java | 155 +++++++++ .../alfresco/update/tool/dircomp/Result.java | 95 ++++++ .../update/tool/dircomp/ResultFormatter.java | 28 ++ .../update/tool/dircomp/ResultSet.java | 40 +++ .../update/tool/dircomp/SortedPathSet.java | 28 ++ .../exception/FileTreeCompareException.java | 31 ++ .../tool/dircomp/FileTreeCompareImplTest.java | 298 ++++++++++++++++++ .../tool/dircomp/HtmlResultFormatterTest.java | 118 +++++++ .../tree1/b/alfresco-testdata-webapp.war | Bin 0 -> 3162 bytes .../file_folders_plus_war/tree1/b/blah.txt | 2 + .../tree1/c/c1/commands.bat | 2 + .../tree1/c/c1/commands.sh | 4 + .../tree1/c/c2/Aardvark.java | 7 + .../tree1/c/c2/Banana.java | 7 + .../file_folders_plus_war/tree2/a/story.txt | 5 + .../tree2/b/alfresco-testdata-webapp.war | Bin 0 -> 3726 bytes .../file_folders_plus_war/tree2/b/blah.txt | 2 + .../tree2/c/c1/commands.bat | 2 + .../tree2/c/c1/commands.sh | 4 + .../tree2/c/c2/Aardvark.java | 7 + .../simple_file_folders/tree1/b/blah.txt | 2 + .../tree1/c/c1/commands.bat | 2 + .../tree1/c/c1/commands.sh | 4 + .../tree1/c/c2/Aardvark.java | 7 + .../tree1/c/c2/Banana.java | 7 + .../simple_file_folders/tree2/a/story.txt | 5 + .../simple_file_folders/tree2/b/blah.txt | 2 + .../tree2/c/c1/commands.bat | 2 + .../tree2/c/c1/commands.sh | 4 + .../tree2/c/c2/Aardvark.java | 7 + 34 files changed, 1199 insertions(+) create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java create mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java create mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Aardvark.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Banana.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/a/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/alfresco-testdata-webapp.war create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index c423f66a7c..c2d254b468 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -53,6 +53,37 @@ test + + de.schlichtherle.truezip + truezip-driver-zip + 7.7.9 + + + de.schlichtherle.truezip + truezip-file + 7.7.9 + + + commons-io + commons-io + 2.4 + + + org.apache.logging.log4j + log4j-api + 2.3 + + + org.apache.logging.log4j + log4j-core + 2.3 + + + + org.springframework + spring-core + 4.2.4.RELEASE + diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java new file mode 100644 index 0000000000..56c03633ba --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.Comparator; + +/** + * Provides a platform agnostic and consistent sorting mechanism + * for {@link java.nio.file.Path} objects. + * + * @author Matt Ward + */ +public class CaseSensitivePathComparator implements Comparator +{ + @Override + public int compare(Path p1, Path p2) + { + String pathStr1 = p1.toString(); + String pathStr2 = p2.toString(); + return pathStr1.compareTo(pathStr2); + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java new file mode 100644 index 0000000000..4c164402df --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java @@ -0,0 +1,22 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.List; + + +/** + * File tree comparison tool interface. + * + * @author Matt Ward + */ +public interface FileTreeCompare +{ + ResultSet compare(Path p1, Path p2); +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java new file mode 100644 index 0000000000..86dda25b16 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -0,0 +1,241 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.alfresco.update.tool.dircomp.exception.FileTreeCompareException; +import org.apache.commons.io.FileUtils; + +import de.schlichtherle.truezip.file.TArchiveDetector; +import de.schlichtherle.truezip.file.TConfig; +import de.schlichtherle.truezip.file.TFile; +import de.schlichtherle.truezip.file.TVFS; +import de.schlichtherle.truezip.fs.archive.zip.ZipDriver; +import de.schlichtherle.truezip.socket.sl.IOPoolLocator; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.util.AntPathMatcher; + +/** + * Class capable of comparing two trees of files to determine which directories or + * files appear in one tree and not the other, or whether a file that appears in + * both has differences in its content. + * + * @author Matt Ward + */ +public class FileTreeCompareImpl implements FileTreeCompare +{ + private static final Logger log = LogManager.getLogger(FileTreeCompareImpl.class); + private final Set ignorePaths = new HashSet<>(); + private final AntPathMatcher pathMatcher = new AntPathMatcher(File.separator); + + public FileTreeCompareImpl() + { + this(new HashSet()); + } + + public FileTreeCompareImpl(Set ignorePaths) + { + // This config MUST be present before any TFile objects etc. are created. + TConfig config = TConfig.get(); + config.setArchiveDetector(new TArchiveDetector("war|jar", new ZipDriver(IOPoolLocator.SINGLETON))); + this.ignorePaths.addAll(ignorePaths); + } + + @Override + public ResultSet compare(Path p1, Path p2) + { + ResultSet resultSet = new ResultSet(); + try + { + compare(resultSet.stats, resultSet.results, p1, p2); + } + catch (Exception e) + { + throw new FileTreeCompareException("Unable to compare file trees.", e); + } + return resultSet; + } + + private void compare(ResultSet.Stats stats, List results, Path tree1, Path tree2) throws IOException + { + SortedPathSet set1 = sortedPaths(tree1); + SortedPathSet set2 = sortedPaths(tree2); + + SortedPathSet all = new SortedPathSet(); + all.addAll(set1); + all.addAll(set2); + + for (Path pathToFind : all) + { + if (pathMatchesIgnorePattern(pathToFind)) + { + // Skip paths that we don't want to examine, e.g. tomcat/temp + log.debug("Skipping path: "+pathToFind); + stats.ignoredFileCount++; + continue; + } + + Result result = new Result(); + results.add(result); + stats.resultCount++; + + if (set1.contains(pathToFind) && set2.contains(pathToFind)) + { + log.debug("In both: "+pathToFind); + // Set the results, translating paths back to absolute as required. + result.p1 = tree1.resolve(pathToFind); + result.p2 = tree2.resolve(pathToFind); + boolean contentMatches = false; + if (Files.isRegularFile(result.p1) && Files.isRegularFile(result.p2)) + { + contentMatches = FileUtils.contentEquals(result.p1.toFile(), result.p2.toFile()); + if (!contentMatches && isSpecialArchive(pathToFind)) + { + Path archive1 = extract(result.p1); + Path archive2 = extract(result.p2); + result.subTree1 = archive1; + result.subTree2 = archive2; + final int diffBefore = stats.differenceCount; + compare(stats, result.subResults, archive1, archive2); + final int diffAfter = stats.differenceCount; + if (diffAfter == diffBefore) + { + // No significant differences were found in the (recursive) subtree comparison. + // We can therefore mark the special archive files matching in both trees. + contentMatches = true; + } + } + } + else if (Files.isDirectory(result.p1) && Files.isDirectory(result.p2)) + { + // Two directories are counted as the same. + contentMatches = true; + } + result.equal = contentMatches; + } + else if (set1.contains(pathToFind)) + { + log.debug("In tree1 only: "+pathToFind); + result.p1 = tree1.resolve(pathToFind); + result.p2 = null; + } + else if (set2.contains(pathToFind)) + { + log.debug("In tree2 only: "+pathToFind); + result.p1 = null; + result.p2 = tree2.resolve(pathToFind); + } + else + { + throw new IllegalStateException( + "Something went wrong. The path is not found in either tree: "+pathToFind); + } + + if (!result.equal) + { + stats.differenceCount++; + } + } + } + + private boolean isSpecialArchive(Path pathToFind) + { + return pathToFind.getFileName().toString().toLowerCase().endsWith(".war") || + pathToFind.getFileName().toString().toLowerCase().endsWith(".jar"); + } + + /** + * If the set of paths to ignore ({@link #ignorePaths}) contains + * a pattern matching the specified path, then true is returned. + *

+ * Patterns are ant-style patterns. + * + * @param path The path to check + * @return True if there is a path in the ignorePaths set that is a prefix of the path. + */ + private boolean pathMatchesIgnorePattern(String path) + { + for (String pattern : ignorePaths) + { + if (pathMatcher.match(pattern, path)) + { + return true; + } + } + return false; + } + + /** + * @see #pathMatchesIgnorePattern(String) + */ + private boolean pathMatchesIgnorePattern(Path path) + { + return pathMatchesIgnorePattern(path.toString()); + } + + private Path extract(Path archivePath) throws IOException + { + String destDirName = archivePath.getFileName().toString(); + Path dest = Files.createTempDirectory(destDirName); + extract(archivePath, dest); + return dest; + } + + private void extract(Path archivePath, Path destPath) throws IOException + { + TFile archive = new TFile(archivePath.toFile()); + TFile dest = new TFile(destPath.toFile(), TArchiveDetector.NULL); + try + { + // Unzip the archive. + archive.cp_rp(dest); + } + finally + { + TVFS.umount(archive); + TVFS.umount(dest); + } + } + + /** + * Traverse path and create a {@link SortedPathSet} containing the set + * of paths encountered. The {@link Path} instances are relative to + * the base path provided as a parameter to this method. + * + * @param path The path to traverse. + * @return SortedPathSet + * @throws IOException + */ + protected SortedPathSet sortedPaths(Path path) throws IOException + { + SortedPathSet sortedPaths = new SortedPathSet(); + collectPaths(sortedPaths, path, path.toFile()); + return sortedPaths; + } + + private void collectPaths(SortedPathSet sortedSet, Path root, File path) throws IOException + { + for (File f : path.listFiles()) + { + Path relativePath = root.relativize(f.toPath()); + sortedSet.add(relativePath); + if (f.isDirectory()) + { + collectPaths(sortedSet, root, f); + } + } + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java new file mode 100644 index 0000000000..b934897628 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java @@ -0,0 +1,155 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.io.OutputStream; +import java.io.PrintWriter; +import java.util.List; + +/** + * Format results as HTML. + * + * @author Matt Ward + */ +public class HtmlResultFormatter implements ResultFormatter +{ + private int maxPathDisplayLength = 80; + private boolean differencesOnly; + + + @Override + public void format(ResultSet resultSet, OutputStream out) + { + try(PrintWriter pw = new PrintWriter(out)) + { + pw.println(""); + pw.println(""); + pw.println(""); + pw.println("File tree comparison results"); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println("

Files examined: "+resultSet.stats.resultCount+"

"); + pw.println("

Files with differences: "+resultSet.stats.differenceCount+"

"); + pw.println("

Ignored files: "+resultSet.stats.ignoredFileCount+"

"); + String passOrFail; + if (resultSet.stats.differenceCount > 0) + { + passOrFail = "FAILED"; + } + else + { + passOrFail = "PASSED"; + } + pw.println("

Status: "+passOrFail+"

"); + + outputResultsTable(resultSet.results, pw, 0); + + pw.println(""); + pw.println(""); + } + } + + private void outputResultsTable(List results, PrintWriter pw, int row) + { + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + + for (Result r : results) + { + ++row; + + outputResult(pw, row, r); + + if (!r.subResults.isEmpty()) + { + // Only show the subresults if there are + if (!differencesOnly || !r.equal) + { + pw.println(""); + } + } + } + + pw.println(""); + pw.println("
#Updated installFresh install
 "); + outputResultsTable(r.subResults, pw, row); + pw.println("
"); + } + + private void outputResult(PrintWriter pw, int row, Result r) + { + if (differencesOnly && r.equal) + { + return; + } + pw.println(""); + + pw.println(""+row+""); + + String p1 = (r.p1 == null) ? "" : r.p1.toString(); + String p1Abbr = abbreviate(p1, maxPathDisplayLength); + String p2 = (r.p2 == null) ? "" : r.p2.toString(); + String p2Abbr = abbreviate(p2, maxPathDisplayLength); + + // TODO: URL/HTML-encode as appropriate + String diffClass; + if (r.equal) + { + if (r.subResults.isEmpty()) + { + // Result refers to a normal file or directory. + diffClass = "info"; + } + else + { + // File is a special archive, but no differences in the sub-results are considered important. + diffClass = "warning"; + } + } + else + { + // The file/directory appears different in each tree. If it is a special archive, then there + // are differences that we care about. + diffClass = "danger"; + } + + pw.println( + String.format("%s%s", + diffClass, + p1, + p1Abbr, + diffClass, + p2, + p2Abbr)); + + pw.println(""); + } + + private String abbreviate(String str, int maxLength) + { + return (str.length() > maxLength) ? "..."+str.substring(str.length()-maxLength) : str; + } + + public void setMaxPathDisplayLength(int maxPathDisplayLength) + { + this.maxPathDisplayLength = maxPathDisplayLength; + } + + public void setDifferencesOnly(boolean differencesOnly) + { + this.differencesOnly = differencesOnly; + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java new file mode 100644 index 0000000000..355cebb239 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java @@ -0,0 +1,95 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; + +/** + * Simple struct-style result data class. + * + * @author Matt Ward + */ +public final class Result +{ + /** + * The path within tree1 being compared (intended to be the updated Alfresco installation). + *

+ * This field will be null if the file in question appears only in the tree2. + */ + Path p1; + /** + * The path within tree2 being compared (intended to be the freshly installed equivalent of {@link #p1}). + *

+ * This field will be null if the file in question appears only in the tree1. + */ + Path p2; + /** + * Are the paths in {@link #p1} and {@link #p2} of identical content? If they refer to a directory, then + * equal in this sense is to have the same directory name. If they refer to a plain file, then equal means + * that they contain the exact same contents. + */ + boolean equal; + /** + * The root path of sub-tree1 to which {@link #subResults} refers. + * @see #subResults + */ + Path subTree1; + /** + * The root path of sub-tree2 to which {@link #subResults} refers. + * @see #subResults + */ + Path subTree2; + /** + * If p1 and p2 refer to a special archive with differences, e.g. they refer to alfresco.war, + * then a deep comparison of the archives will be performed and the results stored here. + *

+ * The paths to the expanded archives will be stored in {@link #subTree1} and {@link #subTree2} + * and all the paths in {@link #subResults} will be within those new roots. + */ + List subResults = new ArrayList<>(); + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = prime * result + (this.equal ? 1231 : 1237); + result = prime * result + ((this.p1 == null) ? 0 : this.p1.hashCode()); + result = prime * result + ((this.p2 == null) ? 0 : this.p2.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) + { + if (this == obj) return true; + if (obj == null) return false; + if (getClass() != obj.getClass()) return false; + Result other = (Result) obj; + if (this.equal != other.equal) return false; + if (this.p1 == null) + { + if (other.p1 != null) return false; + } + else if (!this.p1.equals(other.p1)) return false; + if (this.p2 == null) + { + if (other.p2 != null) return false; + } + else if (!this.p2.equals(other.p2)) return false; + return true; + } + + @Override + public String toString() + { + return String.format("Result[p1=%s, p2=%s, equal=%b]", p1, p2, equal); + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java new file mode 100644 index 0000000000..6eddc194a1 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.io.OutputStream; +import java.util.Collection; + +/** + * Format a set of {@link Result} objects. + * + * @author Matt Ward + */ +public interface ResultFormatter +{ + /** + * Format the result set to the supplied {@link OutputStream}. The caller + * must take care of creating and destroying the OutputStream correctly. + * + * @param results The results to format. + * @param out The stream to format the results to. + */ + void format(ResultSet results, OutputStream out); +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java new file mode 100644 index 0000000000..fecd88a1ff --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java @@ -0,0 +1,40 @@ +package org.alfresco.update.tool.dircomp; + +import java.util.ArrayList; +import java.util.List; + +/* + * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +public class ResultSet +{ + final List results = new ArrayList<>(); + final Stats stats = new Stats(); + + /** + * Class for aggregating basic statistics relating to the directory tree comparisons. + *

+ * For all counts, unless specified otherwise, if a file appears in both trees, it is + * counted only once, as it is relative files we are tracking regardless of which + * tree(s) they exist in. + */ + public static class Stats + { + /** + * The number of files (including directories) examined. + */ + int resultCount; + /** + * The number of files discovered to have differences. + */ + int differenceCount; + /** + * The number of files that were completely ignored due to being in the ignore list. + */ + int ignoredFileCount; + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java new file mode 100644 index 0000000000..52c7087cb6 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.TreeSet; + +/** + * Sorted set of {@link Path} objects that provides consistent + * cross-platform sort order. + * + * @see java.util.TreeSet + * @author Matt Ward + */ +public class SortedPathSet extends TreeSet +{ + private static final long serialVersionUID = 1L; + + public SortedPathSet() + { + super(new CaseSensitivePathComparator()); + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java new file mode 100644 index 0000000000..ebf1e4545f --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java @@ -0,0 +1,31 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp.exception; + +import org.alfresco.update.tool.dircomp.FileTreeCompare; + +/** + * Exception class representing failures during file tree comparison. + * + * @see FileTreeCompare + * @author Matt Ward + */ +public class FileTreeCompareException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public FileTreeCompareException(String message) + { + super(message); + } + + public FileTreeCompareException(String message, Throwable cause) + { + super(message, cause); + } +} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java new file mode 100644 index 0000000000..5abde16cf1 --- /dev/null +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -0,0 +1,298 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.junit.Before; +import org.junit.Test; +import org.springframework.util.AntPathMatcher; + +/** + * Tests for the {@link FileTreeCompareImpl} class. + * + * @author Matt Ward + */ +public class FileTreeCompareImplTest +{ + FileTreeCompareImpl comparator; + + @Before + public void setUp() throws Exception + { + comparator = new FileTreeCompareImpl(); + } + + @Test + public void canGetSortedPathSet() throws IOException + { + Path tree = pathFromClasspath("dir_compare/simple_file_folders/tree1"); + SortedPathSet paths = comparator.sortedPaths(tree); + Iterator it = paths.iterator(); + + System.out.println("Paths:"); + for (Path p : paths) + { + System.out.println("\t"+p); + } + + assertEquals(11, paths.size()); + + assertEquals("a", unixPathStr(tree, it.next())); + assertEquals("b", unixPathStr(tree, it.next())); + assertEquals("b/blah.txt", unixPathStr(tree, it.next())); + assertEquals("c", unixPathStr(tree, it.next())); + assertEquals("c/c1", unixPathStr(tree, it.next())); + assertEquals("c/c1/commands.bat", unixPathStr(tree, it.next())); + assertEquals("c/c1/commands.sh", unixPathStr(tree, it.next())); + assertEquals("c/c2", unixPathStr(tree, it.next())); + assertEquals("c/c2/Aardvark.java", unixPathStr(tree, it.next())); + assertEquals("c/c2/Banana.java", unixPathStr(tree, it.next())); + assertEquals("d", unixPathStr(tree, it.next())); + } + + private String unixPathStr(Path root, Path path) + { + // Allow test to run on Windows also + String pathStr = path.toString(); + pathStr = pathStr.replace(File.separatorChar, '/'); + return pathStr; + } + + @Test + public void canDiffSimpleTreesOfFilesAndFolders() + { + Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); + Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); + + ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + + // One result for each relative file/folder + assertEquals(13, resultSet.results.size()); + assertEquals(13, resultSet.stats.resultCount); + + Iterator rit = resultSet.results.iterator(); + // TODO: currently all of the files are in one, other or both but where they + // are in both, the file *contents* are identical. + // TODO: evolve test data and functionality to cope with different file contents. + assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); + assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); + assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); + assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); + assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); + // Aardvark.java appears in both trees but is not the same! + assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); + assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); + assertResultEquals(tree1.resolve("d"), null, false, rit.next()); + assertResultEquals(null, tree2.resolve("e"), false, rit.next()); + } + + /** + * A "learning test" allowing me to check my assumptions and document the expected behaviour. + */ + @Test + public void testAntPathMatcher() + { + AntPathMatcher matcher = new AntPathMatcher(); + assertTrue(matcher.match("**/common/lib/**/*.pc", "prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); + assertFalse(matcher.match("**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); + assertTrue(matcher.match("/**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); + assertTrue(matcher.match("common/lib/**/*.pc", "common/lib/pkgconfig/Wand.pc")); + assertTrue(matcher.match("**/*.pc", "common/lib/pkgconfig/Wand.pc")); + assertFalse(matcher.match("*.pc", "common/lib/pkgconfig/Wand.pc")); + + assertTrue(matcher.match("libreoffice.app/Contents/Resources/bootstraprc", "libreoffice.app/Contents/Resources/bootstraprc")); + assertTrue(matcher.match("*.sh", "alfresco.sh")); + assertFalse(matcher.match("*.sh", "a/different/alfresco.sh")); + + // What about path separators? + assertTrue(matcher.match("**\\common\\lib\\**\\*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); + assertTrue(matcher.match("\\**\\common\\lib\\**\\*.pc", "\\absolute\\prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); + + // Path separator must be set before this will work + assertFalse(matcher.match("**/common/lib/**/*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); + matcher.setPathSeparator("\\"); + assertTrue(matcher.match("**/common/lib/**/*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); + } + + @Test + public void canIgnoreSpecifiedPaths() + { + Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); + Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); + + Set ignorePaths = new HashSet<>(); + ignorePaths.add("b/blah.txt"); + ignorePaths.add("c/c2/**"); + ignorePaths.add("d/**"); + ignorePaths.add("e/**"); + comparator = new FileTreeCompareImpl(ignorePaths); + + // Perform the comparison + ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + + Iterator rit = resultSet.results.iterator(); + assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); + assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); + assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); + // No b/blah.txt here. + assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); + // No c/c2, c/c2/Aardvark.java, c/c2/Banana.java, d or e here. + + List results = resultSet.results; + assertResultNotPresent(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, results); + assertResultNotPresent(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, results); + assertResultNotPresent(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, results); + assertResultNotPresent(tree1.resolve("c/c2/Banana.java"), null, false, results); + assertResultNotPresent(tree1.resolve("d"), null, false, results); + assertResultNotPresent(null, tree2.resolve("e"), false, results); + assertEquals(7, results.size()); + + // TODO: What about paths within war/jar/zip files? + } + + @Test + public void canDiffTreesContainingWarFiles() + { + Path tree1 = pathFromClasspath("dir_compare/file_folders_plus_war/tree1"); + Path tree2 = pathFromClasspath("dir_compare/file_folders_plus_war/tree2"); + + ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + + // The 14 top-level results + 17 sub-results. + assertEquals(31, resultSet.stats.resultCount); + + // One result for each relative file/folder + assertEquals(14, resultSet.results.size()); + + + Iterator rit = resultSet.results.iterator(); + // TODO: currently all of the files are in one, other or both but where they + // are in both, the file *contents* are identical. + // TODO: evolve test data and functionality to cope with different file contents. + assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); + assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); + assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); + + // Examine the results of the war file comparison + Result result = rit.next(); + // The WAR files are different. + assertResultEquals( + tree1.resolve("b/alfresco-testdata-webapp.war"), + tree2.resolve("b/alfresco-testdata-webapp.war"), + false, + result); + List subResults = result.subResults; + System.out.println("subResults:"); + for (Result r : subResults) + { + System.out.println("\t"+r); + } + Iterator subIt = subResults.iterator(); + Path subTree1 = result.subTree1; + Path subTree2 = result.subTree2; + assertEquals(17, subResults.size()); + assertResultEquals(subTree1.resolve("META-INF"), subTree2.resolve("META-INF"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/MANIFEST.MF"), subTree2.resolve("META-INF/MANIFEST.MF"), false, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven"), subTree2.resolve("META-INF/maven"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy"), subTree2.resolve("META-INF/maven/org.alfresco.dummy"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), false, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF"), subTree2.resolve("WEB-INF"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes"), subTree2.resolve("WEB-INF/classes"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org"), subTree2.resolve("WEB-INF/classes/org"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco"), subTree2.resolve("WEB-INF/classes/org/alfresco"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), true, subIt.next()); + assertResultEquals(null, subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/Another.class"), false, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/web.xml"), subTree2.resolve("WEB-INF/web.xml"), true, subIt.next()); + assertResultEquals(subTree1.resolve("index.jsp"), subTree2.resolve("index.jsp"), false, subIt.next()); + + // Back up to the top-level comparisons + assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); + assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); + // Aardvark.java appears in both trees but is not the same! + assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); + assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); + assertResultEquals(tree1.resolve("d"), null, false, rit.next()); + assertResultEquals(null, tree2.resolve("e"), false, rit.next()); + } + + private void assertResultNotPresent(Path p1, Path p2, boolean contentEqual, List results) + { + Result r = new Result(); + r.p1 = p1; + r.p2 = p2; + r.equal = contentEqual; + assertFalse("Result should not be present: "+r, results.contains(r)); + } + + private void assertResultEquals(Path p1, Path p2, boolean contentEqual, Result result) + { + Result expected = new Result(); + expected.p1 = p1; + expected.p2 = p2; + expected.equal = contentEqual; + assertEquals(expected, result); + } + + private Path pathFromClasspath(String path) + { + try + { + return Paths.get(getClass().getClassLoader().getResource(path).toURI()); + } + catch (URISyntaxException error) + { + throw new RuntimeException(""); + } + } +} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java new file mode 100644 index 0000000000..09d7919ba4 --- /dev/null +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java @@ -0,0 +1,118 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.io.BufferedOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.apache.commons.io.FileUtils; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.springframework.util.AntPathMatcher; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * Tests for the {@link HtmlResultFormatter} class. + *

+ * TODO: currently these aren't tests so much as useful utilities to help with manual testing. + * + * @author Matt Ward + */ +public class HtmlResultFormatterTest +{ + @Before + public void setUp() throws Exception + { + } + + @Test + public void canFormatToHTML() throws IOException + { + ResultSet resultSet = new ResultSet(); + List results = resultSet.results; + addResult(results, "/t1/a", "/t2/a", true); + addResult(results, "/t1/a/b", "/t2/a/b", true); + addResult(results, "/t1/a/c", "/t2/a/c", true); + addResult(results, "/t1/a/b/c/something.txt", "/t2/a/b/c/something.txt", true); + addResult(results, "/t1/a/b/c/another.txt", "/t2/a/b/c/another.txt", false); + addResult(results, null, "/t2/a/b/c/blah.txt", false); + addResult(results, "/t1/dir-only-in-p1", null, false); + addResult(results, null, "/t2/dir-only-in-p2", false); + + try(ByteArrayOutputStream os = new ByteArrayOutputStream()) + { + HtmlResultFormatter formatter = new HtmlResultFormatter(); + formatter.format(resultSet, os); + System.out.println(os.toString()); + + // Uncomment to write to file +// Path file = Files.createTempFile(getClass().getSimpleName(), ".html"); +// FileUtils.write(file.toFile(), os.toString()); +// System.out.println("File: "+file); + } + } + + @Ignore + @Test + public void bigDiff() throws IOException + { + Path path1 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b667"); + Path path2 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b669"); + + Set ignores = new HashSet<>(); + ignores.add("alf_data/postgresql/**"); + ignores.add("META-INF/MANIFEST.MF"); + ignores.add("META-INF/maven/**"); + ignores.add("README.txt"); + + // Temporary ignores, until we sort out custom diffing or pre-processing before diffs. + ignores.add("**/*.sh"); + ignores.add("**/*.bat"); + ignores.add("uninstall.app/**"); + ignores.add("common/bin/**"); + ignores.add("common/include/**"); + ignores.add("common/lib/**/*.pc"); + ignores.add("common/lib/**/*.la"); + ignores.add("libreoffice.app/Contents/Resources/bootstraprc"); + ignores.add("postgresql/bin/**"); + + FileTreeCompare comparator = new FileTreeCompareImpl(ignores); + ResultSet resultSet = comparator.compare(path1, path2); + + Path file = Files.createTempFile(getClass().getSimpleName(), ".html"); + HtmlResultFormatter formatter = new HtmlResultFormatter(); + formatter.setDifferencesOnly(true); + try(FileOutputStream fos = new FileOutputStream(file.toFile()); + BufferedOutputStream bos = new BufferedOutputStream(fos)) + { + formatter.format(resultSet, bos); + } + System.out.println("File: "+file); + } + + private void addResult(List results, String p1, String p2, boolean contentMatch) + { + Result r = new Result(); + r.p1 = p1 != null ? Paths.get(p1) : null; + r.p2 = p2 != null ? Paths.get(p2) : null; + r.equal = contentMatch; + results.add(r); + } +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war new file mode 100644 index 0000000000000000000000000000000000000000..8f1c6ac5f2deabd1b77d898a424608942540e5d7 GIT binary patch literal 3162 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 TkUInd2R;r!*~Nf%hd}-V9Nxz3 literal 0 HcmV?d00001 diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat new file mode 100644 index 0000000000..fb7b3bb193 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat @@ -0,0 +1,2 @@ +echo Hello +echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh new file mode 100644 index 0000000000..35d5edb327 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo hello +echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java new file mode 100644 index 0000000000..bf3d78b9f5 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Hello Aardvark!"); + } +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat new file mode 100644 index 0000000000..fb7b3bb193 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat @@ -0,0 +1,2 @@ +echo Hello +echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh new file mode 100644 index 0000000000..35d5edb327 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo hello +echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java new file mode 100644 index 0000000000..5733268500 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Aardvark!"); + } +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java new file mode 100644 index 0000000000..a9d5570d63 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Banana!"); + } +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt new file mode 100644 index 0000000000..69c3b8a81a --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt @@ -0,0 +1,5 @@ +Once upon +A time +Lived +A +Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat new file mode 100644 index 0000000000..fb7b3bb193 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat @@ -0,0 +1,2 @@ +echo Hello +echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh new file mode 100644 index 0000000000..35d5edb327 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo hello +echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java new file mode 100644 index 0000000000..bf3d78b9f5 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Hello Aardvark!"); + } +} From 10970e2f723bc634bbe4b5e38e80b6c4aab9b528 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:44:23 +0000 Subject: [PATCH 290/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122681 mward: Added some sensible svn ignore patterns. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123992 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From caddeb90a660c3298b88789f38112a46797bd91e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:44:59 +0000 Subject: [PATCH 291/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122694 mward: UTF-378: moved the big end-to-end to happen during integration testing. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123993 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 2 +- .../java/{EndToEndTest.java => EndToEndIntegrationTest.java} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename enterprise-update-test/src/test/java/{EndToEndTest.java => EndToEndIntegrationTest.java} (99%) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index c2d254b468..385542017a 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -132,7 +132,7 @@ fetch-installer - generate-test-resources + pre-integration-test run diff --git a/enterprise-update-test/src/test/java/EndToEndTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java similarity index 99% rename from enterprise-update-test/src/test/java/EndToEndTest.java rename to enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index b862e8850c..9694d09c10 100644 --- a/enterprise-update-test/src/test/java/EndToEndTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -20,7 +20,7 @@ import java.util.ArrayList; import org.junit.Before; import org.junit.Test; -public class EndToEndTest +public class EndToEndIntegrationTest { private final static String JAR_FILE_NAME = "alfresco-update-tool.jar"; From dcc5304f9f71c39a3537279b1531efb851fd980b Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:47:37 +0000 Subject: [PATCH 292/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122698 mward: UTF-378: bring back all the default java behaviour by removing the pom packaging specification. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123994 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 385542017a..9cb12a74cf 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -1,13 +1,13 @@ - - 4.0.0 - alfresco-enterprise-update-test - End to end test of the installer and update - - org.alfresco - alfresco-full-installation - 5.1.1-SNAPSHOT - - pom + + 4.0.0 + alfresco-enterprise-update-test + End to end test of the installer and update + + org.alfresco + alfresco-full-installation + 5.1.1-SNAPSHOT + - - - - - - 5.1.0 - https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160212-SNAPSHOT-665-linux-x64.bin + + - - https://nightlybuilds.alfresco.com/Enterprise-5.1/5.1/LATEST/ALL/alfresco-one-installer-20160212-SNAPSHOT-665-linux-x64.bin - ${project.build.directory}/test-data/base-alf-installation ${project.build.directory}/test-data/this-alf-installation @@ -125,8 +118,7 @@ - + maven-antrun-plugin @@ -139,67 +131,63 @@ - + - + - + + Is base.installer.version provided ? + + + + + + + - - Downloading Base Alfresco installer to - ${base.installer.location}... - - - - + + Downloading Base Alfresco installer ${base.installer.version}... + + + + + + Installing the base Version of Alfresco... to ${base.alfresco.instance} + + + - - - Downloading This Alfresco installer to - ${this.installer.location}... - - - - + + + + + + - Installing The base Version of Alfresco... to - ${base.alfresco.instance} - - - - - Installing This Version of Alfresco... to - ${this.alfresco.instance} - + Installing newly generated version of Alfresco... + + @@ -273,8 +261,6 @@ - - From dbb45ae1b4a30d7d3eaa0f033b4751e17fd6a464 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:50:27 +0000 Subject: [PATCH 294/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122730 jphuynh: BDE-539: Fixed path and added base version extension check. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123997 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index ea0d3bd7db..690861c11c 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -142,12 +142,17 @@ Is base.installer.version provided ? - + + + + + + - + - + @@ -159,7 +164,7 @@ Downloading Base Alfresco installer ${base.installer.version}... - + @@ -167,7 +172,7 @@ - + @@ -178,7 +183,7 @@ - + From 536e7d884d39cd3597577bff8c8e82b799704acc Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:50:33 +0000 Subject: [PATCH 295/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122731 mward: UTF-383: added support for ignoring differences in files where it is just the absolute tree root. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123998 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../tool/dircomp/FileTreeCompareImpl.java | 133 ++++++++++++++---- .../tool/dircomp/HtmlResultFormatter.java | 2 + .../update/tool/dircomp/ResultSet.java | 4 + .../tool/dircomp/FileTreeCompareImplTest.java | 73 +++++++++- .../tool/dircomp/HtmlResultFormatterTest.java | 29 ++-- 5 files changed, 200 insertions(+), 41 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 86dda25b16..3959de78fa 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -7,13 +7,10 @@ */ package org.alfresco.update.tool.dircomp; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.nio.file.Files; import java.nio.file.Path; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import org.alfresco.update.tool.dircomp.exception.FileTreeCompareException; import org.apache.commons.io.FileUtils; @@ -39,19 +36,21 @@ public class FileTreeCompareImpl implements FileTreeCompare { private static final Logger log = LogManager.getLogger(FileTreeCompareImpl.class); private final Set ignorePaths = new HashSet<>(); + private final Set allowedDiffsPaths = new HashSet<>(); private final AntPathMatcher pathMatcher = new AntPathMatcher(File.separator); public FileTreeCompareImpl() { - this(new HashSet()); + this(new HashSet(), new HashSet()); } - public FileTreeCompareImpl(Set ignorePaths) + public FileTreeCompareImpl(Set ignorePaths, Set allowedDiffsPath) { // This config MUST be present before any TFile objects etc. are created. TConfig config = TConfig.get(); config.setArchiveDetector(new TArchiveDetector("war|jar", new ZipDriver(IOPoolLocator.SINGLETON))); this.ignorePaths.addAll(ignorePaths); + this.allowedDiffsPaths.addAll(allowedDiffsPath); } @Override @@ -102,22 +101,41 @@ public class FileTreeCompareImpl implements FileTreeCompare if (Files.isRegularFile(result.p1) && Files.isRegularFile(result.p2)) { contentMatches = FileUtils.contentEquals(result.p1.toFile(), result.p2.toFile()); - if (!contentMatches && isSpecialArchive(pathToFind)) + if (!contentMatches) { - Path archive1 = extract(result.p1); - Path archive2 = extract(result.p2); - result.subTree1 = archive1; - result.subTree2 = archive2; - final int diffBefore = stats.differenceCount; - compare(stats, result.subResults, archive1, archive2); - final int diffAfter = stats.differenceCount; - if (diffAfter == diffBefore) + if (pathMatchesAllowedDiffsPattern(pathToFind)) { - // No significant differences were found in the (recursive) subtree comparison. - // We can therefore mark the special archive files matching in both trees. - contentMatches = true; + File f1 = preprocessFile(tree1, result.p1.toFile()); + File f2 = preprocessFile(tree2, result.p2.toFile()); + contentMatches = FileUtils.contentEquals(f1, f2); + if (contentMatches) + { + // If the preprocessed files match, then although the files didn't + // match when first compared byte-for-byte, they do match as far as we are concerned. + // But add to the stats that this is what has happened. + stats.suppressedDifferenceCount++; + } +// f1.delete(); +// f2.delete(); + } + else if (isSpecialArchive(pathToFind)) + { + Path archive1 = extract(result.p1); + Path archive2 = extract(result.p2); + result.subTree1 = archive1; + result.subTree2 = archive2; + final int diffBefore = stats.differenceCount; + compare(stats, result.subResults, archive1, archive2); + final int diffAfter = stats.differenceCount; + if (diffAfter == diffBefore) + { + // No significant differences were found in the (recursive) subtree comparison. + // We can therefore mark the special archive files matching in both trees. + contentMatches = true; + } } } + } else if (Files.isDirectory(result.p1) && Files.isDirectory(result.p2)) { @@ -151,31 +169,78 @@ public class FileTreeCompareImpl implements FileTreeCompare } } + private File preprocessFile(Path tree, File orig) throws IOException + { + // Create a set of replacements that we intend to make. Replacing them with + // a known token allows us to remove differences (that we're not interested in) in the files. + Map replacements = new HashMap<>(); + replacements.put(tree.toAbsolutePath().toString(), replacementToken("comparison_root")); + + File processed = Files.createTempFile(orig.getName(), ".tmp").toFile(); + try(Reader r = new FileReader(orig); + BufferedReader br = new BufferedReader(r); + Writer w = new FileWriter(processed); + PrintWriter pw = new PrintWriter(w)) + { + String line; + while ((line = br.readLine()) != null) + { + for (String replKey : replacements.keySet()) + { + String replVal = replacements.get(replKey); + line = line.replace(replKey, replVal); + } + pw.println(line); + } + } + return processed; + } + + private String replacementToken(String label) + { + return String.format("@$@$@$@${{TREE_COMPARE_%s}}", label); + } + private boolean isSpecialArchive(Path pathToFind) { return pathToFind.getFileName().toString().toLowerCase().endsWith(".war") || pathToFind.getFileName().toString().toLowerCase().endsWith(".jar"); } + /** + * If the set of paths to allow certain differences ({@link #allowedDiffsPaths}) + * contains a pattern matching the specified path, then true is returned. + *

+ * Patterns are ant-style patterns. + * + * @param path The path to check + * @return True if there is a pattern in the allowedDiffsPaths set matching the path. + */ + private boolean pathMatchesAllowedDiffsPattern(String path) + { + return pathMatchesPattern(path, allowedDiffsPaths); + } + + /** + * @see #pathMatchesAllowedDiffsPattern(String) + */ + private boolean pathMatchesAllowedDiffsPattern(Path path) + { + return pathMatchesAllowedDiffsPattern(path.toString()); + } + /** * If the set of paths to ignore ({@link #ignorePaths}) contains * a pattern matching the specified path, then true is returned. *

* Patterns are ant-style patterns. - * + * * @param path The path to check * @return True if there is a path in the ignorePaths set that is a prefix of the path. */ private boolean pathMatchesIgnorePattern(String path) { - for (String pattern : ignorePaths) - { - if (pathMatcher.match(pattern, path)) - { - return true; - } - } - return false; + return pathMatchesPattern(path, ignorePaths); } /** @@ -186,6 +251,18 @@ public class FileTreeCompareImpl implements FileTreeCompare return pathMatchesIgnorePattern(path.toString()); } + private boolean pathMatchesPattern(String path, Set patterns) + { + for (String pattern : patterns) + { + if (pathMatcher.match(pattern, path)) + { + return true; + } + } + return false; + } + private Path extract(Path archivePath) throws IOException { String destDirName = archivePath.getFileName().toString(); diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java index b934897628..55a127073e 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java @@ -32,10 +32,12 @@ public class HtmlResultFormatter implements ResultFormatter pw.println(""); pw.println("File tree comparison results"); pw.println(""); + pw.println(""); pw.println(""); pw.println(""); pw.println("

Files examined: "+resultSet.stats.resultCount+"

"); pw.println("

Files with differences: "+resultSet.stats.differenceCount+"

"); + pw.println("

Files with allowed differences: "+resultSet.stats.suppressedDifferenceCount+"

"); pw.println("

Ignored files: "+resultSet.stats.ignoredFileCount+"

"); String passOrFail; if (resultSet.stats.differenceCount > 0) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java index fecd88a1ff..a66d4a473b 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java @@ -32,6 +32,10 @@ public class ResultSet * The number of files discovered to have differences. */ int differenceCount; + /** + * The number of files discovered to have differences, but where we do not care. + */ + int suppressedDifferenceCount; /** * The number of files that were completely ignored due to being in the ignore list. */ diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java index 5abde16cf1..c182c47a00 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -21,6 +21,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import org.apache.commons.io.FileUtils; import org.junit.Before; import org.junit.Test; import org.springframework.util.AntPathMatcher; @@ -153,7 +154,7 @@ public class FileTreeCompareImplTest ignorePaths.add("c/c2/**"); ignorePaths.add("d/**"); ignorePaths.add("e/**"); - comparator = new FileTreeCompareImpl(ignorePaths); + comparator = new FileTreeCompareImpl(ignorePaths, new HashSet()); // Perform the comparison ResultSet resultSet = comparator.compare(tree1, tree2); @@ -185,8 +186,76 @@ public class FileTreeCompareImplTest assertEquals(7, results.size()); // TODO: What about paths within war/jar/zip files? + // ...at the moment, if we specify a path of "mydir/README.txt" to be ignored, + // this will be ignored in the main tree, e.g. /mydir/README.txt but also + // within sub-trees if there is a match, e.g. /mydir/README.txt } - + + @Test + public void canSpecifyFilesThatShouldHaveCertainDifferencesAllowed() throws IOException + { + Path tree1 = pathFromClasspath("dir_compare/allowed_differences/tree1"); + Path tree2 = pathFromClasspath("dir_compare/allowed_differences/tree2"); + + // Check that two identical trees are... identical! + ResultSet resultSet = comparator.compare(tree1, tree2); + assertEquals(0, resultSet.stats.differenceCount); + assertEquals(0, resultSet.stats.ignoredFileCount); + assertEquals(4, resultSet.stats.resultCount); + assertEquals(4, resultSet.results.size()); + + // Now add files that are different only in there use of tree1 and tree2's absolute paths. + File t1File = new File(tree1.toFile(), "different.txt"); + t1File.deleteOnExit(); + FileUtils.write(t1File, sampleText(tree1.toAbsolutePath().toString())); + + File t2File = new File(tree2.toFile(), "different.txt"); + t2File.deleteOnExit(); + FileUtils.write(t2File, sampleText(tree2.toAbsolutePath().toString())); + + // Perform the comparison + comparator = new FileTreeCompareImpl(); + resultSet = comparator.compare(tree1, tree2); + + // We should see a difference + assertEquals(0, resultSet.stats.suppressedDifferenceCount); + assertEquals(1, resultSet.stats.differenceCount); + assertEquals(0, resultSet.stats.ignoredFileCount); + assertEquals(5, resultSet.stats.resultCount); + assertEquals(5, resultSet.results.size()); + + Iterator rit = resultSet.results.iterator(); + assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), false, rit.next()); + + // Perform the comparison again, but after allowing the files to be different. + Set allowedDiffsPaths = new HashSet<>(); + allowedDiffsPaths.add("**/*.txt"); + + // Perform the comparison + comparator = new FileTreeCompareImpl(new HashSet(), allowedDiffsPaths); + resultSet = comparator.compare(tree1, tree2); + + // We should see a difference - but it is in the 'suppressed' list. + assertEquals(1, resultSet.stats.suppressedDifferenceCount); + assertEquals(0, resultSet.stats.differenceCount); + assertEquals(0, resultSet.stats.ignoredFileCount); + assertEquals(5, resultSet.stats.resultCount); + assertEquals(5, resultSet.results.size()); + + rit = resultSet.results.iterator(); + assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), true, rit.next()); + } + + private String sampleText(String absPath) + { + StringBuilder sb = new StringBuilder(); + sb.append("This is some example text\n"); + sb.append("...in tree: "+absPath); + sb.append(" ...and here is some more text.\n"); + sb.append("The End."); + return sb.toString(); + } + @Test public void canDiffTreesContainingWarFiles() { diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java index 09d7919ba4..85d1f3ddf9 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java @@ -81,19 +81,26 @@ public class HtmlResultFormatterTest ignores.add("META-INF/MANIFEST.MF"); ignores.add("META-INF/maven/**"); ignores.add("README.txt"); - - // Temporary ignores, until we sort out custom diffing or pre-processing before diffs. - ignores.add("**/*.sh"); - ignores.add("**/*.bat"); ignores.add("uninstall.app/**"); - ignores.add("common/bin/**"); - ignores.add("common/include/**"); - ignores.add("common/lib/**/*.pc"); - ignores.add("common/lib/**/*.la"); - ignores.add("libreoffice.app/Contents/Resources/bootstraprc"); - ignores.add("postgresql/bin/**"); - FileTreeCompare comparator = new FileTreeCompareImpl(ignores); + // All the patterns will be applied to these files, e.g. they will all have differences + // in absolute path references ignored. + Set ignoreSpecialDifferences = new HashSet<>(); + ignoreSpecialDifferences.add("common/bin/**"); + ignoreSpecialDifferences.add("common/include/**/*.h"); + ignoreSpecialDifferences.add("common/lib/**/*.pc"); + ignoreSpecialDifferences.add("common/lib/**/*.la"); + ignoreSpecialDifferences.add("libreoffice.app/Contents/Resources/bootstraprc"); + ignoreSpecialDifferences.add("postgresql/bin/**"); + ignoreSpecialDifferences.add("**/*.sh"); + ignoreSpecialDifferences.add("**/*.bat"); + ignoreSpecialDifferences.add("**/*.ini"); + ignoreSpecialDifferences.add("**/*.properties"); + ignoreSpecialDifferences.add("**/*.xml"); + ignoreSpecialDifferences.add("**/*.sample"); + ignoreSpecialDifferences.add("**/*.txt"); + + FileTreeCompare comparator = new FileTreeCompareImpl(ignores, ignoreSpecialDifferences); ResultSet resultSet = comparator.compare(path1, path2); Path file = Files.createTempFile(getClass().getSimpleName(), ".html"); From 17c2f95a00e408b4be9e797d255566aa47d41d76 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:50:42 +0000 Subject: [PATCH 296/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122745 mward: UTF-383: added support for deep differencing in amp files. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@123999 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 3959de78fa..d82a7b0a24 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -48,7 +48,7 @@ public class FileTreeCompareImpl implements FileTreeCompare { // This config MUST be present before any TFile objects etc. are created. TConfig config = TConfig.get(); - config.setArchiveDetector(new TArchiveDetector("war|jar", new ZipDriver(IOPoolLocator.SINGLETON))); + config.setArchiveDetector(new TArchiveDetector("war|jar|amp", new ZipDriver(IOPoolLocator.SINGLETON))); this.ignorePaths.addAll(ignorePaths); this.allowedDiffsPaths.addAll(allowedDiffsPath); } @@ -204,7 +204,8 @@ public class FileTreeCompareImpl implements FileTreeCompare private boolean isSpecialArchive(Path pathToFind) { return pathToFind.getFileName().toString().toLowerCase().endsWith(".war") || - pathToFind.getFileName().toString().toLowerCase().endsWith(".jar"); + pathToFind.getFileName().toString().toLowerCase().endsWith(".jar") || + pathToFind.getFileName().toString().toLowerCase().endsWith(".amp"); } /** From d2a2b48ee9f899c4aaea306c77902be19a5b765d Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:50:47 +0000 Subject: [PATCH 297/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122751 mward: UTF-384: wired in comparison tool and HTML formatter to the build. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124000 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../tool/dircomp/FileTreeCompareImpl.java | 34 ++++++++- .../test/java/EndToEndIntegrationTest.java | 69 ++++++++++++++----- .../tool/dircomp/HtmlResultFormatterTest.java | 45 ------------ 3 files changed, 84 insertions(+), 64 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index d82a7b0a24..df0f1ba45b 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -41,16 +41,44 @@ public class FileTreeCompareImpl implements FileTreeCompare public FileTreeCompareImpl() { - this(new HashSet(), new HashSet()); + this(null, null); } - public FileTreeCompareImpl(Set ignorePaths, Set allowedDiffsPath) + public FileTreeCompareImpl(Set ignorePaths, Set allowedDiffsPaths) { // This config MUST be present before any TFile objects etc. are created. TConfig config = TConfig.get(); config.setArchiveDetector(new TArchiveDetector("war|jar|amp", new ZipDriver(IOPoolLocator.SINGLETON))); + if (ignorePaths == null) + { + // Add default ignores + ignorePaths = new HashSet<>(); + ignorePaths.add("alf_data/postgresql/**"); + ignorePaths.add("META-INF/MANIFEST.MF"); + ignorePaths.add("META-INF/maven/**"); + ignorePaths.add("README.txt"); + ignorePaths.add("uninstall.app/**"); + } + if (allowedDiffsPaths == null) + { + // Add default paths where certain differences are allowed, e.g. absolute path references. + allowedDiffsPaths = new HashSet<>(); + allowedDiffsPaths.add("common/bin/**"); + allowedDiffsPaths.add("common/include/**/*.h"); + allowedDiffsPaths.add("common/lib/**/*.pc"); + allowedDiffsPaths.add("common/lib/**/*.la"); + allowedDiffsPaths.add("libreoffice.app/Contents/Resources/bootstraprc"); + allowedDiffsPaths.add("postgresql/bin/**"); + allowedDiffsPaths.add("**/*.sh"); + allowedDiffsPaths.add("**/*.bat"); + allowedDiffsPaths.add("**/*.ini"); + allowedDiffsPaths.add("**/*.properties"); + allowedDiffsPaths.add("**/*.xml"); + allowedDiffsPaths.add("**/*.sample"); + allowedDiffsPaths.add("**/*.txt"); + } this.ignorePaths.addAll(ignorePaths); - this.allowedDiffsPaths.addAll(allowedDiffsPath); + this.allowedDiffsPaths.addAll(allowedDiffsPaths); } @Override diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index 9694d09c10..e19bcb75a6 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -6,20 +6,24 @@ * agreement is prohibited. */ -import static org.junit.Assert.*; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.util.ArrayList; - +import org.alfresco.update.tool.dircomp.FileTreeCompare; +import org.alfresco.update.tool.dircomp.FileTreeCompareImpl; +import org.alfresco.update.tool.dircomp.HtmlResultFormatter; +import org.alfresco.update.tool.dircomp.ResultSet; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.assertTrue; + public class EndToEndIntegrationTest { private final static String JAR_FILE_NAME = "alfresco-update-tool.jar"; @@ -132,14 +136,47 @@ public class EndToEndIntegrationTest /** * Run the diff tool * - * @param src - * @param dest + * @param path1 + * @param path2 */ - public void compare(File src, File dest) + public void compare(File path1, File path2) throws IOException { - //assertTrue("test not implemented", false); + FileTreeCompare comparator = new FileTreeCompareImpl(); + ResultSet resultSet = comparator.compare(path1.toPath(), path2.toPath()); + + File dircompDir = new File(targetDir, "installation-diff"); + dircompDir.mkdirs(); + + // Format the results as an HTML report. + File file = new File(dircompDir, "installation-diff-report.html"); + file.createNewFile(); + + HtmlResultFormatter formatter = new HtmlResultFormatter(); + formatter.setDifferencesOnly(true); + try(FileOutputStream fos = new FileOutputStream(file); + BufferedOutputStream bos = new BufferedOutputStream(fos)) + { + formatter.format(resultSet, bos); + } } - + + /** + * Utility/harness to allow easy testing of {@link #compare(File, File)}. + *

+ * Uncomment @Ignore, but do not check in. + * + * @throws IOException + */ + @Ignore + @Test + public void bigDiff() throws IOException + { + Path path1 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b667"); + Path path2 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b669"); + + compare(path1.toFile(), path2.toFile()); + } + /* * Method to execute a command * diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java index 85d1f3ddf9..6ba39f8c6b 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java @@ -68,51 +68,6 @@ public class HtmlResultFormatterTest // System.out.println("File: "+file); } } - - @Ignore - @Test - public void bigDiff() throws IOException - { - Path path1 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b667"); - Path path2 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b669"); - - Set ignores = new HashSet<>(); - ignores.add("alf_data/postgresql/**"); - ignores.add("META-INF/MANIFEST.MF"); - ignores.add("META-INF/maven/**"); - ignores.add("README.txt"); - ignores.add("uninstall.app/**"); - - // All the patterns will be applied to these files, e.g. they will all have differences - // in absolute path references ignored. - Set ignoreSpecialDifferences = new HashSet<>(); - ignoreSpecialDifferences.add("common/bin/**"); - ignoreSpecialDifferences.add("common/include/**/*.h"); - ignoreSpecialDifferences.add("common/lib/**/*.pc"); - ignoreSpecialDifferences.add("common/lib/**/*.la"); - ignoreSpecialDifferences.add("libreoffice.app/Contents/Resources/bootstraprc"); - ignoreSpecialDifferences.add("postgresql/bin/**"); - ignoreSpecialDifferences.add("**/*.sh"); - ignoreSpecialDifferences.add("**/*.bat"); - ignoreSpecialDifferences.add("**/*.ini"); - ignoreSpecialDifferences.add("**/*.properties"); - ignoreSpecialDifferences.add("**/*.xml"); - ignoreSpecialDifferences.add("**/*.sample"); - ignoreSpecialDifferences.add("**/*.txt"); - - FileTreeCompare comparator = new FileTreeCompareImpl(ignores, ignoreSpecialDifferences); - ResultSet resultSet = comparator.compare(path1, path2); - - Path file = Files.createTempFile(getClass().getSimpleName(), ".html"); - HtmlResultFormatter formatter = new HtmlResultFormatter(); - formatter.setDifferencesOnly(true); - try(FileOutputStream fos = new FileOutputStream(file.toFile()); - BufferedOutputStream bos = new BufferedOutputStream(fos)) - { - formatter.format(resultSet, bos); - } - System.out.println("File: "+file); - } private void addResult(List results, String p1, String p2, boolean contentMatch) { From c4d708e3921cbb00ebc3d23545aa15d8e6cfaf89 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:50:57 +0000 Subject: [PATCH 298/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122752 mward: UTF-378: Delete temp files when no longer needed git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124001 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index df0f1ba45b..6170694c11 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -136,6 +136,9 @@ public class FileTreeCompareImpl implements FileTreeCompare File f1 = preprocessFile(tree1, result.p1.toFile()); File f2 = preprocessFile(tree2, result.p2.toFile()); contentMatches = FileUtils.contentEquals(f1, f2); + // Delete the files now that we no longer need them. The originals are still available. + f1.delete(); + f2.delete(); if (contentMatches) { // If the preprocessed files match, then although the files didn't @@ -143,8 +146,6 @@ public class FileTreeCompareImpl implements FileTreeCompare // But add to the stats that this is what has happened. stats.suppressedDifferenceCount++; } -// f1.delete(); -// f2.delete(); } else if (isSpecialArchive(pathToFind)) { From 86664bbe028f94831ede5b25e71f2b12f299b457 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:51:17 +0000 Subject: [PATCH 299/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122753 jphuynh: BDE-539: Changed wget to ant get. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124002 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 690861c11c..d33d589250 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -163,9 +163,7 @@ Downloading Base Alfresco installer ${base.installer.version}... - - - + Installing the base Version of Alfresco... to ${base.alfresco.instance} From 7d8f2da5b51eb11a4129b03237657c60627bf2cc Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:51:27 +0000 Subject: [PATCH 300/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122755 mward: UTF-378: Fix unit tests git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124003 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImplTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java index c182c47a00..25794f51b2 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -38,7 +38,7 @@ public class FileTreeCompareImplTest @Before public void setUp() throws Exception { - comparator = new FileTreeCompareImpl(); + comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); } @Test @@ -214,7 +214,7 @@ public class FileTreeCompareImplTest FileUtils.write(t2File, sampleText(tree2.toAbsolutePath().toString())); // Perform the comparison - comparator = new FileTreeCompareImpl(); + comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); resultSet = comparator.compare(tree1, tree2); // We should see a difference From 33b9cbf0112ee39d90f3ce8ad3e0af928fc50000 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:51:52 +0000 Subject: [PATCH 301/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122756 jphuynh: BDE-539: Fixed typo. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124004 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index d33d589250..58fceb9def 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -163,7 +163,7 @@ Downloading Base Alfresco installer ${base.installer.version}... - + Installing the base Version of Alfresco... to ${base.alfresco.instance} From a3de76ef9ecf738b8d03a81e1db88de65bc49677 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:52:01 +0000 Subject: [PATCH 302/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122763 mward: UTF-378: improve result set formatting. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124005 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../tool/dircomp/HtmlResultFormatter.java | 33 +++++++++++++------ .../tool/dircomp/HtmlResultFormatterTest.java | 7 +++- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java index 55a127073e..4fda857aed 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java @@ -25,6 +25,8 @@ public class HtmlResultFormatter implements ResultFormatter @Override public void format(ResultSet resultSet, OutputStream out) { + boolean failed = resultSet.stats.differenceCount > 0; + try(PrintWriter pw = new PrintWriter(out)) { pw.println(""); @@ -32,26 +34,37 @@ public class HtmlResultFormatter implements ResultFormatter pw.println(""); pw.println("File tree comparison results"); pw.println(""); - pw.println(""); + pw.println(""); pw.println(""); pw.println(""); - pw.println("

Files examined: "+resultSet.stats.resultCount+"

"); - pw.println("

Files with differences: "+resultSet.stats.differenceCount+"

"); - pw.println("

Files with allowed differences: "+resultSet.stats.suppressedDifferenceCount+"

"); - pw.println("

Ignored files: "+resultSet.stats.ignoredFileCount+"

"); + pw.println("
"); + String passOrFail; - if (resultSet.stats.differenceCount > 0) + String alertClass; + if (failed) { - passOrFail = "FAILED"; + alertClass = "alert-danger"; + passOrFail = "FAILED"; } else { - passOrFail = "PASSED"; + alertClass = "alert-success"; + passOrFail = "PASSED"; } - pw.println("

Status: "+passOrFail+"

"); + pw.println("
\n" + + "

Fresh installation vs updated installation Diff tool results

\n" + + "
"); + pw.println("
"); + pw.println("

Status: "+passOrFail+"

"); + pw.println("

Files examined: "+resultSet.stats.resultCount+"

"); + pw.println("

Files with differences: "+resultSet.stats.differenceCount+"

"); + pw.println("

Files with allowed differences: "+resultSet.stats.suppressedDifferenceCount+"

"); + pw.println("

Ignored files: "+resultSet.stats.ignoredFileCount+"

"); + pw.println("
"); outputResultsTable(resultSet.results, pw, 0); - + + pw.println("
"); pw.println(""); pw.println(""); } diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java index 6ba39f8c6b..bd387646db 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java @@ -55,7 +55,12 @@ public class HtmlResultFormatterTest addResult(results, null, "/t2/a/b/c/blah.txt", false); addResult(results, "/t1/dir-only-in-p1", null, false); addResult(results, null, "/t2/dir-only-in-p2", false); - + + resultSet.stats.suppressedDifferenceCount = 2; + resultSet.stats.differenceCount = 4; + resultSet.stats.ignoredFileCount = 0; + resultSet.stats.resultCount = results.size(); + try(ByteArrayOutputStream os = new ByteArrayOutputStream()) { HtmlResultFormatter formatter = new HtmlResultFormatter(); From 487b623933980a4cf93d8410512e2b84324a18f9 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:52:11 +0000 Subject: [PATCH 303/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122764 mward: UTF-378: added missing test data git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124006 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../dir_compare/allowed_differences/tree1/x/story.txt | 5 +++++ .../dir_compare/allowed_differences/tree1/y/blah.txt | 2 ++ .../dir_compare/allowed_differences/tree2/x/story.txt | 5 +++++ .../dir_compare/allowed_differences/tree2/y/blah.txt | 2 ++ 4 files changed, 14 insertions(+) create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt new file mode 100644 index 0000000000..69c3b8a81a --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt @@ -0,0 +1,5 @@ +Once upon +A time +Lived +A +Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt new file mode 100644 index 0000000000..69c3b8a81a --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt @@ -0,0 +1,5 @@ +Once upon +A time +Lived +A +Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content From e9a8284958e1c65668c501d52aebafffe977ab85 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:53:48 +0000 Subject: [PATCH 304/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122766 jphuynh: BDE-539: AOS Module Only exist on 5.1. Added changes in installer.args to reflect that. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124007 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 58fceb9def..2b8aa52094 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -28,10 +28,15 @@ ${project.build.directory}/test-data/this-alf-installation - --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco + --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco + --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,alfrescosharepoint,alfrescowcmqs,alfrescogoogledocs + --alfrescocustomstack_services_startup demand + + + --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs --alfrescocustomstack_services_startup demand - + ${project.build.directory}/test-data/alfresco-enterprise-update-package @@ -168,7 +173,7 @@ Installing the base Version of Alfresco... to ${base.alfresco.instance} - + @@ -187,7 +192,7 @@ Installing newly generated version of Alfresco... - + From 04cfba44c1f8e4e1aabe8dfc9c59c5e19d9efe0d Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:53:58 +0000 Subject: [PATCH 305/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122767 jphuynh: BDE-539: this.installer.args! git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124008 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 2b8aa52094..2dc56ac371 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -33,7 +33,7 @@ --alfrescocustomstack_services_startup demand - --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco + --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs --alfrescocustomstack_services_startup demand From 21972513c42cb3acfeb628f56806211703da1e14 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:54:20 +0000 Subject: [PATCH 306/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122774 jphuynh: BDE-539: alfrescosharepoint is not a selectable component. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124009 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 2dc56ac371..29e0f27d53 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -29,7 +29,7 @@ --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco - --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,alfrescosharepoint,alfrescowcmqs,alfrescogoogledocs + --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,alfrescowcmqs,alfrescogoogledocs --alfrescocustomstack_services_startup demand From 7d25c3c46df62d60eba5f8f5d5a4bd10b97fb25d Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:54:31 +0000 Subject: [PATCH 307/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122785 mward: UTF-378: fixed path pattern matching on Windows. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124010 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../tool/dircomp/FileTreeCompareImpl.java | 58 ++++++++++--------- .../tool/dircomp/HtmlResultFormatter.java | 2 +- .../tool/dircomp/FileTreeCompareImplTest.java | 10 ++-- 3 files changed, 37 insertions(+), 33 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 6170694c11..b8204fa482 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -7,24 +7,23 @@ */ package org.alfresco.update.tool.dircomp; -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.*; - -import org.alfresco.update.tool.dircomp.exception.FileTreeCompareException; -import org.apache.commons.io.FileUtils; - import de.schlichtherle.truezip.file.TArchiveDetector; import de.schlichtherle.truezip.file.TConfig; import de.schlichtherle.truezip.file.TFile; import de.schlichtherle.truezip.file.TVFS; import de.schlichtherle.truezip.fs.archive.zip.ZipDriver; import de.schlichtherle.truezip.socket.sl.IOPoolLocator; +import org.alfresco.update.tool.dircomp.exception.FileTreeCompareException; +import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.util.AntPathMatcher; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.*; + /** * Class capable of comparing two trees of files to determine which directories or * files appear in one tree and not the other, or whether a file that appears in @@ -53,34 +52,39 @@ public class FileTreeCompareImpl implements FileTreeCompare { // Add default ignores ignorePaths = new HashSet<>(); - ignorePaths.add("alf_data/postgresql/**"); - ignorePaths.add("META-INF/MANIFEST.MF"); - ignorePaths.add("META-INF/maven/**"); - ignorePaths.add("README.txt"); - ignorePaths.add("uninstall.app/**"); + ignorePaths.add(toPlatformPath("alf_data/postgresql/**")); + ignorePaths.add(toPlatformPath("META-INF/MANIFEST.MF")); + ignorePaths.add(toPlatformPath("META-INF/maven/**")); + ignorePaths.add(toPlatformPath("README.txt")); + ignorePaths.add(toPlatformPath("uninstall.app/**")); } if (allowedDiffsPaths == null) { // Add default paths where certain differences are allowed, e.g. absolute path references. allowedDiffsPaths = new HashSet<>(); - allowedDiffsPaths.add("common/bin/**"); - allowedDiffsPaths.add("common/include/**/*.h"); - allowedDiffsPaths.add("common/lib/**/*.pc"); - allowedDiffsPaths.add("common/lib/**/*.la"); - allowedDiffsPaths.add("libreoffice.app/Contents/Resources/bootstraprc"); - allowedDiffsPaths.add("postgresql/bin/**"); - allowedDiffsPaths.add("**/*.sh"); - allowedDiffsPaths.add("**/*.bat"); - allowedDiffsPaths.add("**/*.ini"); - allowedDiffsPaths.add("**/*.properties"); - allowedDiffsPaths.add("**/*.xml"); - allowedDiffsPaths.add("**/*.sample"); - allowedDiffsPaths.add("**/*.txt"); + allowedDiffsPaths.add(toPlatformPath("common/bin/**")); + allowedDiffsPaths.add(toPlatformPath("common/include/**/*.h")); + allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.pc")); + allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.la")); + allowedDiffsPaths.add(toPlatformPath("libreoffice.app/Contents/Resources/bootstraprc")); + allowedDiffsPaths.add(toPlatformPath("postgresql/bin/**")); + allowedDiffsPaths.add(toPlatformPath("**/*.sh")); + allowedDiffsPaths.add(toPlatformPath("**/*.bat")); + allowedDiffsPaths.add(toPlatformPath("**/*.ini")); + allowedDiffsPaths.add(toPlatformPath("**/*.properties")); + allowedDiffsPaths.add(toPlatformPath("**/*.xml")); + allowedDiffsPaths.add(toPlatformPath("**/*.sample")); + allowedDiffsPaths.add(toPlatformPath("**/*.txt")); } this.ignorePaths.addAll(ignorePaths); this.allowedDiffsPaths.addAll(allowedDiffsPaths); } - + + private String toPlatformPath(String path) + { + return path.replace("/", File.separator); + } + @Override public ResultSet compare(Path p1, Path p2) { diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java index 4fda857aed..ec8fa8ebc1 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java @@ -18,7 +18,7 @@ import java.util.List; */ public class HtmlResultFormatter implements ResultFormatter { - private int maxPathDisplayLength = 80; + private int maxPathDisplayLength = 50; private boolean differencesOnly; diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java index 25794f51b2..148b40a436 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -133,14 +133,14 @@ public class FileTreeCompareImplTest assertTrue(matcher.match("*.sh", "alfresco.sh")); assertFalse(matcher.match("*.sh", "a/different/alfresco.sh")); - // What about path separators? + // Windows matcher + // It seems that changing the path separator on an instance that's already been + // used isn't a good idea due to pattern caching. + matcher = new AntPathMatcher("\\"); assertTrue(matcher.match("**\\common\\lib\\**\\*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); assertTrue(matcher.match("\\**\\common\\lib\\**\\*.pc", "\\absolute\\prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); - // Path separator must be set before this will work - assertFalse(matcher.match("**/common/lib/**/*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); - matcher.setPathSeparator("\\"); - assertTrue(matcher.match("**/common/lib/**/*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); + assertTrue(matcher.match("b\\blah.txt", "b\\blah.txt")); } @Test From 1cabf38177a410a29bdad2d69190598183559717 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:54:37 +0000 Subject: [PATCH 308/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122797 mrogers: Corrected test to run on windows. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124011 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../tool/dircomp/FileTreeCompareImplTest.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java index 148b40a436..ce632a7b2d 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -150,10 +150,10 @@ public class FileTreeCompareImplTest Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); Set ignorePaths = new HashSet<>(); - ignorePaths.add("b/blah.txt"); - ignorePaths.add("c/c2/**"); - ignorePaths.add("d/**"); - ignorePaths.add("e/**"); + ignorePaths.add(toPlatformPath("b/blah.txt")); + ignorePaths.add(toPlatformPath("c/c2/**")); + ignorePaths.add(toPlatformPath("d/**")); + ignorePaths.add(toPlatformPath("e/**")); comparator = new FileTreeCompareImpl(ignorePaths, new HashSet()); // Perform the comparison @@ -229,7 +229,7 @@ public class FileTreeCompareImplTest // Perform the comparison again, but after allowing the files to be different. Set allowedDiffsPaths = new HashSet<>(); - allowedDiffsPaths.add("**/*.txt"); + allowedDiffsPaths.add(toPlatformPath("**/*.txt")); // Perform the comparison comparator = new FileTreeCompareImpl(new HashSet(), allowedDiffsPaths); @@ -364,4 +364,9 @@ public class FileTreeCompareImplTest throw new RuntimeException(""); } } + + private String toPlatformPath(String path) + { + return path.replace("/", File.separator); + } } From af27e4f182943b40330f6b9b44a06ae3afc517de Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:55:01 +0000 Subject: [PATCH 309/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122800 mrogers: kludge tests to get something to run. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124012 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 29e0f27d53..6b219669fd 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -19,24 +19,18 @@ ${project.build.directory}/test-data/base-alf-installation ${project.build.directory}/test-data/this-alf-installation - - - --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco - --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,alfrescowcmqs,alfrescogoogledocs - --alfrescocustomstack_services_startup demand - - - --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco + + --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs --alfrescocustomstack_services_startup demand - + ${project.build.directory}/test-data/alfresco-enterprise-update-package @@ -170,10 +164,21 @@ Downloading Base Alfresco installer ${base.installer.version}... + + + Kludging Base version ... + + + + + + + + Installing the base Version of Alfresco... to ${base.alfresco.instance} - + @@ -192,7 +197,7 @@ Installing newly generated version of Alfresco... - + From 053034758a96eced7e01ee524a1a96b631cdd284 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:55:07 +0000 Subject: [PATCH 310/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122824 jphuynh: BDE-539: Use latest 5.1-SNAPSHOT build as base version for now. (Latest as in previous successful build excluding the current one.) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 6b219669fd..527222b60a 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -148,7 +148,7 @@ - + @@ -162,19 +162,19 @@ Downloading Base Alfresco installer ${base.installer.version}... - + - - - Kludging Base version ... + + + Kludging Base version ... - + - + Installing the base Version of Alfresco... to ${base.alfresco.instance} From 4b35b09bed0bdf801b4026246d6e2a53640a9558 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:55:26 +0000 Subject: [PATCH 311/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122846 mrogers: BDE-539 - Remove kludge. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124014 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 527222b60a..fcc06ed55f 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -165,17 +165,6 @@ - - Kludging Base version ... - - - - - - - - - Installing the base Version of Alfresco... to ${base.alfresco.instance} From 09520372e44fd5ed2f336bb0d4f42f33527806bd Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:55:33 +0000 Subject: [PATCH 312/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122856 mward: UTF-384: swapped the 'fresh' and 'updated' in the comparison method call so that the report appears with them in the correct columns. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124015 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../src/test/java/EndToEndIntegrationTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index e19bcb75a6..9a86ac9d37 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -136,13 +136,13 @@ public class EndToEndIntegrationTest /** * Run the diff tool * - * @param path1 - * @param path2 + * @param freshInstallation + * @param updatedInstallation */ - public void compare(File path1, File path2) throws IOException + public void compare(File freshInstallation, File updatedInstallation) throws IOException { FileTreeCompare comparator = new FileTreeCompareImpl(); - ResultSet resultSet = comparator.compare(path1.toPath(), path2.toPath()); + ResultSet resultSet = comparator.compare(updatedInstallation.toPath(), freshInstallation.toPath()); File dircompDir = new File(targetDir, "installation-diff"); dircompDir.mkdirs(); From 5a22fd095c642b249db15ee4a25b9a9dc1448bbd Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:55:55 +0000 Subject: [PATCH 313/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122860 mward: UTF-378: improved test to ensure multiple occurrences of replacement text are all replaced. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124016 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImplTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java index ce632a7b2d..0df6df50aa 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -252,6 +252,7 @@ public class FileTreeCompareImplTest sb.append("This is some example text\n"); sb.append("...in tree: "+absPath); sb.append(" ...and here is some more text.\n"); + sb.append("...but wait! here's an absolute path again:"+absPath+", yes."); sb.append("The End."); return sb.toString(); } From 029bc75d4bcaa0f6ccd79bcecdbf65a127966370 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:55:57 +0000 Subject: [PATCH 314/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122880 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124017 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 616e03b1d5af1acd2ecee906cdc1de5e9f9986bb Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:56:46 +0000 Subject: [PATCH 315/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122881 mrogers: Update googledocs to 3.0.3 to keep in line with release git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124018 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From df3acfd11ad88426d621a7e62cdb5ff3ae2b2a4c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:56:56 +0000 Subject: [PATCH 316/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122922 mward: UTF-378: added some diff ignore patterns. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124019 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index b8204fa482..24cd8cd493 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -53,10 +53,18 @@ public class FileTreeCompareImpl implements FileTreeCompare // Add default ignores ignorePaths = new HashSet<>(); ignorePaths.add(toPlatformPath("alf_data/postgresql/**")); + ignorePaths.add(toPlatformPath("alf_data/solr4/**")); ignorePaths.add(toPlatformPath("META-INF/MANIFEST.MF")); ignorePaths.add(toPlatformPath("META-INF/maven/**")); ignorePaths.add(toPlatformPath("README.txt")); ignorePaths.add(toPlatformPath("uninstall.app/**")); + ignorePaths.add(toPlatformPath("uninstall/**")); + ignorePaths.add(toPlatformPath("uninstall.exe")); + ignorePaths.add(toPlatformPath("uninstall.dat")); + ignorePaths.add(toPlatformPath("libreoffice.app/**")); + ignorePaths.add(toPlatformPath("libreoffice/**")); + ignorePaths.add(toPlatformPath("java/**")); + ignorePaths.add(toPlatformPath("applied-updates/**")); } if (allowedDiffsPaths == null) { From c93bdd696fe5d8fef8773a3d8cd787eebaed76db Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:57:03 +0000 Subject: [PATCH 317/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122949 mrogers: UTF-378 - Added some code to ignore module.install date within module.properties git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124020 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../tool/dircomp/FileTreeCompareImpl.java | 15 ++++- .../tool/dircomp/FileTreeCompareImplTest.java | 55 ++++++++++++++++--- 2 files changed, 62 insertions(+), 8 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 24cd8cd493..6af60562e0 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -23,6 +23,8 @@ import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Class capable of comparing two trees of files to determine which directories or @@ -216,6 +218,9 @@ public class FileTreeCompareImpl implements FileTreeCompare // a known token allows us to remove differences (that we're not interested in) in the files. Map replacements = new HashMap<>(); replacements.put(tree.toAbsolutePath().toString(), replacementToken("comparison_root")); + + // Create a pattern for module.installDate + Pattern installDatePattern = Pattern.compile("module.installDate=.*[\n\r\f]*$"); File processed = Files.createTempFile(orig.getName(), ".tmp").toFile(); try(Reader r = new FileReader(orig); @@ -224,13 +229,21 @@ public class FileTreeCompareImpl implements FileTreeCompare PrintWriter pw = new PrintWriter(w)) { String line; + while ((line = br.readLine()) != null) - { + { for (String replKey : replacements.keySet()) { String replVal = replacements.get(replKey); line = line.replace(replKey, replVal); } + Matcher m = installDatePattern.matcher(line); + if(m.matches()) + { + // replace module.installDate + line = m.replaceFirst("module.installDate="); + } + pw.println(line); } } diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java index 0df6df50aa..093d09a766 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -16,6 +16,7 @@ import java.io.IOException; import java.net.URISyntaxException; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Date; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -199,6 +200,12 @@ public class FileTreeCompareImplTest // Check that two identical trees are... identical! ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } assertEquals(0, resultSet.stats.differenceCount); assertEquals(0, resultSet.stats.ignoredFileCount); assertEquals(4, resultSet.stats.resultCount); @@ -212,17 +219,33 @@ public class FileTreeCompareImplTest File t2File = new File(tree2.toFile(), "different.txt"); t2File.deleteOnExit(); FileUtils.write(t2File, sampleText(tree2.toAbsolutePath().toString())); + + // Now add a module.properties that are different in their "installDate" property only. + File t3File = new File(tree1.toFile(), "module.properties"); + t3File.deleteOnExit(); + Date date = new Date(); + FileUtils.write(t3File, sampleModuleProperties("2016-02-29T16\\:26\\:18.053Z")); + + File t4File = new File(tree2.toFile(), "module.properties"); + t4File.deleteOnExit(); + FileUtils.write(t4File, sampleModuleProperties("2016-02-28T14\\:30\\:14.035Z")); + // Perform the comparison comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); resultSet = comparator.compare(tree1, tree2); + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } // We should see a difference assertEquals(0, resultSet.stats.suppressedDifferenceCount); - assertEquals(1, resultSet.stats.differenceCount); + assertEquals(2, resultSet.stats.differenceCount); assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(5, resultSet.stats.resultCount); - assertEquals(5, resultSet.results.size()); + assertEquals(6, resultSet.stats.resultCount); + assertEquals(6, resultSet.results.size()); Iterator rit = resultSet.results.iterator(); assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), false, rit.next()); @@ -230,17 +253,18 @@ public class FileTreeCompareImplTest // Perform the comparison again, but after allowing the files to be different. Set allowedDiffsPaths = new HashSet<>(); allowedDiffsPaths.add(toPlatformPath("**/*.txt")); + allowedDiffsPaths.add(toPlatformPath("**/module.properties")); - // Perform the comparison + // Perform the comparison, this time with some allowed differences comparator = new FileTreeCompareImpl(new HashSet(), allowedDiffsPaths); resultSet = comparator.compare(tree1, tree2); // We should see a difference - but it is in the 'suppressed' list. - assertEquals(1, resultSet.stats.suppressedDifferenceCount); + assertEquals(2, resultSet.stats.suppressedDifferenceCount); assertEquals(0, resultSet.stats.differenceCount); assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(5, resultSet.stats.resultCount); - assertEquals(5, resultSet.results.size()); + assertEquals(6, resultSet.stats.resultCount); + assertEquals(6, resultSet.results.size()); rit = resultSet.results.iterator(); assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), true, rit.next()); @@ -256,6 +280,23 @@ public class FileTreeCompareImplTest sb.append("The End."); return sb.toString(); } + + private String sampleModuleProperties(String installDateAsString) + { + StringBuilder sb = new StringBuilder(); + sb.append("module.id=org.alfresco.integrations.share.google.docs\n"); + sb.append("module.version=3.0.3\n"); + sb.append("module.buildnumber=4ent\n"); + sb.append("module.title=Alfresco / Google Docs Share Module\n"); + sb.append("module.description=The Share side artifacts of the Alfresco / Google Docs Integration.\n"); + sb.append("module.repo.version.min=5.0.0\n"); + sb.append("module.repo.version.max=5.99.99\n"); + sb.append("module.installState=INSTALLED\n"); + // this is the problem we are trying to solve + sb.append("module.installDate=" + installDateAsString + "\n"); + + return sb.toString(); + } @Test public void canDiffTreesContainingWarFiles() From 6e8a4018a826dd7c0e6b3d2ecb771826a139bba1 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:57:10 +0000 Subject: [PATCH 318/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123015 mrogers: UTF-378 - Now produce the zip file of the update test differences. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124021 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../tool/dircomp/ZipResultFormatter.java | 67 +++++++++++++++ .../test/java/EndToEndIntegrationTest.java | 14 ++++ .../tool/dircomp/ZipResultFormatterTest.java | 82 +++++++++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java create mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java new file mode 100644 index 0000000000..8cf0a793e0 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java @@ -0,0 +1,67 @@ +package org.alfresco.update.tool.dircomp; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Path; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +/** + * Format the org.alfresco.update.tool.dircomp.ResultSet as a set of files inside a zip file. + * + * Files that are equal are not added to the zip file. + * + * @author mrogers + */ +public class ZipResultFormatter implements ResultFormatter +{ + @Override + public void format(ResultSet resultSet, OutputStream out) + { + ZipOutputStream zos = (ZipOutputStream)out; + + for(Result result : resultSet.results) + { + if(!result.equal) + { + try + { + putFile(result.p1, zos); + putFile(result.p2, zos); + } + catch (IOException ie) + { + // Do nothing + } + } + } + } + + private void putFile(Path path, ZipOutputStream zos) throws IOException + { + + if(path != null) + { + byte[] buffer = new byte[1024]; + File file = path.toFile(); + if(file.isFile()) + { + String entryName = path.toString().replace('\\', '/'); + ZipEntry zipEntry = new ZipEntry(entryName); + zipEntry.setTime(file.lastModified()); + try (FileInputStream ins = new FileInputStream(file)) + { + zos.putNextEntry(zipEntry); + int len; + while ((len = ins.read(buffer)) > 0) { + zos.write(buffer, 0, len); + } + zos.closeEntry(); + } + } + } + } + +} diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index 9a86ac9d37..176cf61a81 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -9,7 +9,9 @@ import org.alfresco.update.tool.dircomp.FileTreeCompare; import org.alfresco.update.tool.dircomp.FileTreeCompareImpl; import org.alfresco.update.tool.dircomp.HtmlResultFormatter; +import org.alfresco.update.tool.dircomp.Result; import org.alfresco.update.tool.dircomp.ResultSet; +import org.alfresco.update.tool.dircomp.ZipResultFormatter; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -21,6 +23,7 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashSet; import java.util.Set; +import java.util.zip.ZipOutputStream; import static org.junit.Assert.assertTrue; @@ -158,6 +161,17 @@ public class EndToEndIntegrationTest { formatter.format(resultSet, bos); } + + File zipFile = new File(dircompDir, "installation-diff-report.zip"); + zipFile.createNewFile(); + + ZipResultFormatter zformatter = new ZipResultFormatter(); + + try (FileOutputStream fos = new FileOutputStream(zipFile); + ZipOutputStream zos = new ZipOutputStream(fos)) + { + zformatter.format(resultSet, zos); + } } /** diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java new file mode 100644 index 0000000000..bca1660d28 --- /dev/null +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java @@ -0,0 +1,82 @@ +package org.alfresco.update.tool.dircomp; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.zip.ZipOutputStream; + +import org.junit.Before; +import org.junit.Test; + +/** + * Tests for the {@link ZipResultFormatter} class. + *

+ * + * @author Mark Rogers + */ +public class ZipResultFormatterTest +{ + @Before + public void setUp() throws Exception + { + } + + @Test + public void canFormatToZip() throws IOException + { + ResultSet resultSet = new ResultSet(); + List results = resultSet.results; + + URL srcDir = getClass().getClassLoader().getResource("dir_compare/allowed_differences/tree1"); + assertNotNull(srcDir.getPath()); + + File f = new File(srcDir.getPath()); + + File[] files = f.listFiles(); + for(File file : files) + { + addResult(results, file.getAbsolutePath(), null, false); + } + + resultSet.stats.suppressedDifferenceCount = 2; + resultSet.stats.differenceCount = 4; + resultSet.stats.ignoredFileCount = 0; + resultSet.stats.resultCount = results.size(); + + ZipResultFormatter zof = new ZipResultFormatter(); + + Path file = Files.createTempFile(getClass().getSimpleName(), ".zip"); + + File zipFile = file.toFile(); + zipFile.createNewFile(); + zipFile.deleteOnExit(); + + ZipResultFormatter zformatter = new ZipResultFormatter(); + + try (FileOutputStream fos = new FileOutputStream(zipFile); + ZipOutputStream zos = new ZipOutputStream(fos)) + { + zof.format(resultSet, zos); + } + + assertTrue(zipFile.length() > 0); + + } + + private void addResult(List results, String p1, String p2, boolean contentMatch) + { + Result r = new Result(); + r.p1 = p1 != null ? Paths.get(p1) : null; + r.p2 = p2 != null ? Paths.get(p2) : null; + r.equal = contentMatch; + results.add(r); + } + +} From 9811e8e842ebe3fc757d126e5af74edacf74bf57 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:57:20 +0000 Subject: [PATCH 319/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123029 mrogers: UTF-378 - A few additions to the ignore patterns + change for zip format to use absolute paths. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124022 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 6 ++++++ .../alfresco/update/tool/dircomp/ZipResultFormatter.java | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 6af60562e0..53562505cd 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -67,6 +67,10 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths.add(toPlatformPath("libreoffice/**")); ignorePaths.add(toPlatformPath("java/**")); ignorePaths.add(toPlatformPath("applied-updates/**")); + ignorePaths.add(toPlatformPath("~build/**")); + ignorePaths.add(toPlatformPath("properties.ini")); + ignorePaths.add(toPlatformPath("**/modifications.install")); + ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); } if (allowedDiffsPaths == null) { @@ -85,6 +89,8 @@ public class FileTreeCompareImpl implements FileTreeCompare allowedDiffsPaths.add(toPlatformPath("**/*.xml")); allowedDiffsPaths.add(toPlatformPath("**/*.sample")); allowedDiffsPaths.add(toPlatformPath("**/*.txt")); + allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr4.xml")); + allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr.xml")); } this.ignorePaths.addAll(ignorePaths); this.allowedDiffsPaths.addAll(allowedDiffsPaths); diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java index 8cf0a793e0..1c5fa75de4 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java @@ -48,14 +48,15 @@ public class ZipResultFormatter implements ResultFormatter File file = path.toFile(); if(file.isFile()) { - String entryName = path.toString().replace('\\', '/'); + String entryName = path.toAbsolutePath().toString().replace('\\', '/'); ZipEntry zipEntry = new ZipEntry(entryName); zipEntry.setTime(file.lastModified()); try (FileInputStream ins = new FileInputStream(file)) { zos.putNextEntry(zipEntry); int len; - while ((len = ins.read(buffer)) > 0) { + while ((len = ins.read(buffer)) > 0) + { zos.write(buffer, 0, len); } zos.closeEntry(); From f764b0a7aab4b5e56c482f6671c1e91221eae7ff Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:57:23 +0000 Subject: [PATCH 320/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123042 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124023 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From cc1a0a660fdf95abda7c39edaab7a56354806370 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 11:57:54 +0000 Subject: [PATCH 321/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123059 mrogers: UTF-378 - Try toRealPath on file comparison utility. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124024 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../update/tool/dircomp/FileTreeCompareImpl.java | 2 +- .../update/tool/dircomp/ZipResultFormatter.java | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 53562505cd..2d8e444d85 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -223,7 +223,7 @@ public class FileTreeCompareImpl implements FileTreeCompare // Create a set of replacements that we intend to make. Replacing them with // a known token allows us to remove differences (that we're not interested in) in the files. Map replacements = new HashMap<>(); - replacements.put(tree.toAbsolutePath().toString(), replacementToken("comparison_root")); + replacements.put(tree.toRealPath().toString(), replacementToken("comparison_root")); // Create a pattern for module.installDate Pattern installDatePattern = Pattern.compile("module.installDate=.*[\n\r\f]*$"); diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java index 1c5fa75de4..d1929ad2d0 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java @@ -48,11 +48,10 @@ public class ZipResultFormatter implements ResultFormatter File file = path.toFile(); if(file.isFile()) { - String entryName = path.toAbsolutePath().toString().replace('\\', '/'); - ZipEntry zipEntry = new ZipEntry(entryName); + ZipEntry zipEntry = new ZipEntry(getEntryName(path)); zipEntry.setTime(file.lastModified()); try (FileInputStream ins = new FileInputStream(file)) - { + { zos.putNextEntry(zipEntry); int len; while ((len = ins.read(buffer)) > 0) @@ -64,5 +63,10 @@ public class ZipResultFormatter implements ResultFormatter } } } + + private String getEntryName(Path path) + { + return "differences/" + path.toAbsolutePath().toString().replace('\\', '/').trim(); + } } From c9b1a93e6289daaf7a381e6e3fca818e9c78b4ec Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:01:11 +0000 Subject: [PATCH 322/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123080 mrogers: Fix for file names within ZipFormatter ... had // in the path. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124025 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/tool/dircomp/ZipResultFormatter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java index d1929ad2d0..0ec0aac001 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java @@ -66,7 +66,8 @@ public class ZipResultFormatter implements ResultFormatter private String getEntryName(Path path) { - return "differences/" + path.toAbsolutePath().toString().replace('\\', '/').trim(); + // eg differences/xml-data/foo/bar + return "differences" + path.normalize().toString().replace('\\', '/').trim(); } } From bcd54a93134cb21cd94955ab55656c535c4f1491 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:01:17 +0000 Subject: [PATCH 323/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123084 mrogers: Add more ignorePaths git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124026 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 2d8e444d85..6a75355749 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -55,10 +55,11 @@ public class FileTreeCompareImpl implements FileTreeCompare // Add default ignores ignorePaths = new HashSet<>(); ignorePaths.add(toPlatformPath("alf_data/postgresql/**")); - ignorePaths.add(toPlatformPath("alf_data/solr4/**")); + ignorePaths.add(toPlatformPath("alf_data/oouser/user/**")); + ignorePaths.add(toPlatformPath("common/**")); ignorePaths.add(toPlatformPath("META-INF/MANIFEST.MF")); ignorePaths.add(toPlatformPath("META-INF/maven/**")); - ignorePaths.add(toPlatformPath("README.txt")); + ignorePaths.add(toPlatformPath("licenses/notice.txt")); ignorePaths.add(toPlatformPath("uninstall.app/**")); ignorePaths.add(toPlatformPath("uninstall/**")); ignorePaths.add(toPlatformPath("uninstall.exe")); @@ -69,8 +70,11 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths.add(toPlatformPath("applied-updates/**")); ignorePaths.add(toPlatformPath("~build/**")); ignorePaths.add(toPlatformPath("properties.ini")); + ignorePaths.add(toPlatformPath("**/log.txt")); + ignorePaths.add(toPlatformPath("**/solrcore.properties")); ignorePaths.add(toPlatformPath("**/modifications.install")); ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); + } if (allowedDiffsPaths == null) { From 5eb4079339d44f8f30e34c3f046fa76e06f9b1a5 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:01:19 +0000 Subject: [PATCH 324/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123096 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124027 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From aa94cd99e9da39a01820864f9f36441523406bb1 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:01:26 +0000 Subject: [PATCH 325/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123121 mrogers: when comparing the two trees, ignore the sol1 war file in alf_data git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124028 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 6a75355749..3dc4fd40cc 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -56,6 +56,7 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths = new HashSet<>(); ignorePaths.add(toPlatformPath("alf_data/postgresql/**")); ignorePaths.add(toPlatformPath("alf_data/oouser/user/**")); + ignorePaths.add(toPlatformPath("alf_data/solr/*.war")); ignorePaths.add(toPlatformPath("common/**")); ignorePaths.add(toPlatformPath("META-INF/MANIFEST.MF")); ignorePaths.add(toPlatformPath("META-INF/maven/**")); @@ -74,6 +75,7 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths.add(toPlatformPath("**/solrcore.properties")); ignorePaths.add(toPlatformPath("**/modifications.install")); ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); + ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); } if (allowedDiffsPaths == null) From 18aa18c3918eb79e7bd3cf66400d48cb918a8dda Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:01:28 +0000 Subject: [PATCH 326/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123159 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124029 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 906bf941444fa26bca27404822e96412c6aabd86 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:01:57 +0000 Subject: [PATCH 327/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123183 mrogers: Update pom files to a) reflect the fact that the "enterprise" artifact name has been changed to "one", b) update to what is on 5.1 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 4 ++-- .../src/test/java/EndToEndIntegrationTest.java | 2 +- enterprise-update/pom.xml | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index fcc06ed55f..e55b052fa0 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -32,7 +32,7 @@ --alfrescocustomstack_services_startup demand - ${project.build.directory}/test-data/alfresco-enterprise-update-package + ${project.build.directory}/test-data/alfresco-one-update-package @@ -105,7 +105,7 @@ org.alfresco - alfresco-enterprise-update-package + alfresco-one-update-package ${project.version} true ${unpacked.update.package} diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index 176cf61a81..eb51812699 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -64,7 +64,7 @@ public class EndToEndIntegrationTest String basePath = System.getProperty("unpacked.update.package"); if (basePath == null) { - basePath = "./test-data/alfresco-enterprise-update-package"; + basePath = "./test-data/alfresco-one-update-package"; } File base = new File(targetDir, basePath); assertTrue(base.isDirectory()); diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index f01bfa931c..d792936804 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -7,13 +7,13 @@ alfresco-full-installation 5.1.1-SNAPSHOT - alfresco-enterprise-update-package + alfresco-one-update-package jar - Alfresco Enterprise Update Package + Alfresco One Update Package ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} ${project.build.directory}/dependency/wcmqs-${project.version} ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} @@ -89,7 +89,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip @@ -181,7 +181,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} true zip From a608785d40a947d03c851b29d6b2a5043994d05a Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:04:02 +0000 Subject: [PATCH 328/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123184 mrogers: More work on pom files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124031 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e50ef1c01f663c5c4106a6c54c86a192046d523f Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:09:23 +0000 Subject: [PATCH 329/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123230 mrogers: Rollback previous changes. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124032 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 1 + ear/pom.xml | 49 +++++++------------ ear/src/assembly/ear-distribution.xml | 10 ++-- enterprise-distribution/pom.xml | 7 +-- enterprise-installer/pom.xml | 46 ++++++++++------- enterprise-update-test/mer.bat | 1 + enterprise-update-test/pom.xml | 4 +- .../test/java/EndToEndIntegrationTest.java | 2 +- enterprise-update/pom.xml | 10 ++-- installer/pom.xml | 16 ------ 10 files changed, 62 insertions(+), 84 deletions(-) create mode 100644 enterprise-update-test/mer.bat diff --git a/distribution/pom.xml b/distribution/pom.xml index 877eacf5e3..296b30f5cc 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -13,6 +13,7 @@ 8080 + community diff --git a/ear/pom.xml b/ear/pom.xml index d5e130baa9..3cbe834c96 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -36,6 +36,13 @@ ${alfresco.share.version} war + + + org.alfresco + alfresco-enterprise-vti-bin + ${alfresco.platform.version} + war + org.alfresco alfresco-server-root @@ -47,7 +54,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-platform-enterprise-distributionzip ${alfresco.platform.version} zip provided @@ -58,19 +65,6 @@ - - org.alfresco - alfresco-share-distribution - ${alfresco.share.version} - zip - provided - - - * - * - - - @@ -186,6 +180,11 @@ share share.war + + org.alfresco + alfresco-enterprise-vti-bin + _vti_bin.war + org.alfresco alfresco-server-root @@ -199,29 +198,15 @@ maven-dependency-plugin - unpack-platform-distribution + unpack-distribution prepare-package unpack-dependencies - alfresco-one-platform-distributionzip + alfresco-platform-enterprise-distributionzip true - alfresco-one-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/modules/ - - - - - unpack-share-distribution - prepare-package - - unpack-dependencies - - - alfresco-share-distribution - true - * - alfresco-share-distribution-${alfresco.share.version}/web-extension-samples/ + alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/ @@ -239,7 +224,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/lib diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 35732d8b91..549f26a600 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,20 +8,16 @@ - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath - - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples - web-server/classpath/alfresco/web-extension - @@ -30,7 +26,7 @@ ${project.build.directory}/alfresco-ear-distribution-${installer.version.name}.ear - alfresco-one-${installer.version.name}.ear + alfresco-enterprise-${installer.version.name}.ear diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index e054447097..c610d3aa8b 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -6,20 +6,21 @@ alfresco-full-installation 5.1.1-SNAPSHOT - alfresco-one-distribution + alfresco-enterprise-distribution jar Alfresco Full Distribution (Enterprise Edition) 8080 + enterprise org.alfresco - alfresco-one-platform-distributionzip + alfresco-platform-enterprise-distributionzip ${alfresco.platform.version} zip @@ -81,7 +82,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-platform-enterprise-distributionzip ${alfresco.platform.version} zip diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index acdf25c85a..29b158199c 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.1.1-SNAPSHOT - alfresco-one-installer + alfresco-enterprise-installer pom Alfresco Enterprise Full Installers @@ -25,14 +25,15 @@ alfresco_edition=enterprise alfresco_package='${alfresco.package.name}' alfrescogoogledocs_component_enabled=1 + alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=1 alfrescowcmqs_component_enabled=1 project.outputDirectory=${project.build.directory} - alfresco-one - alfresco-one-distribution + alfresco-enterprise + ${alfresco.package.name}-distribution @@ -67,13 +68,13 @@ org.alfresco - alfresco-one-installer-resources + alfresco-installer-resources ${alfresco.platform.version} ${project.build.directory}/classes org.alfresco - alfresco-one-distribution + alfresco-enterprise-distribution ${project.version} zip ${project.build.directory}/distribution @@ -111,14 +112,6 @@ ${project.build.directory}/wcmqs alfresco/extension/** - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - zip - ${project.build.directory}/distribution/aos-module - @@ -134,14 +127,12 @@ org.alfresco.integrations alfresco-googledocs-repo ${alfresco.googledocs.version} - enterprise amp org.alfresco.integrations alfresco-googledocs-share ${alfresco.googledocs.version} - enterprise amp @@ -150,6 +141,27 @@ + + + maven-resources-plugin + + + override-local-resources + prepare-package + + resources + + + ${project.build.directory} + true + + properties + + + + + + maven-antrun-plugin @@ -176,9 +188,7 @@ ${project.build.directory}/classes/bitrock - - - + diff --git a/enterprise-update-test/mer.bat b/enterprise-update-test/mer.bat new file mode 100644 index 0000000000..5626a8ec94 --- /dev/null +++ b/enterprise-update-test/mer.bat @@ -0,0 +1 @@ +mvn install -Dthis.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe -Dbase.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index e55b052fa0..fcc06ed55f 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -32,7 +32,7 @@ --alfrescocustomstack_services_startup demand - ${project.build.directory}/test-data/alfresco-one-update-package + ${project.build.directory}/test-data/alfresco-enterprise-update-package @@ -105,7 +105,7 @@ org.alfresco - alfresco-one-update-package + alfresco-enterprise-update-package ${project.version} true ${unpacked.update.package} diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index eb51812699..176cf61a81 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -64,7 +64,7 @@ public class EndToEndIntegrationTest String basePath = System.getProperty("unpacked.update.package"); if (basePath == null) { - basePath = "./test-data/alfresco-one-update-package"; + basePath = "./test-data/alfresco-enterprise-update-package"; } File base = new File(targetDir, basePath); assertTrue(base.isDirectory()); diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index d792936804..f01bfa931c 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -7,13 +7,13 @@ alfresco-full-installation 5.1.1-SNAPSHOT - alfresco-one-update-package + alfresco-enterprise-update-package jar - Alfresco One Update Package + Alfresco Enterprise Update Package ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} ${project.build.directory}/dependency/wcmqs-${project.version} ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} @@ -89,7 +89,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-platform-enterprise-distributionzip ${alfresco.platform.version} zip @@ -181,7 +181,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-platform-enterprise-distributionzip ${alfresco.platform.version} true zip diff --git a/installer/pom.xml b/installer/pom.xml index 38c2befbd3..ec49c2e095 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -310,14 +310,6 @@ ${project.build.directory}/wcmqs alfresco/extension/** - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - zip - ${project.build.directory}/distribution/aos-module - @@ -341,14 +333,6 @@ ${alfresco.googledocs.version} amp - - - org.alfresco - alfresco-spp - ${alfresco.platform.version} - amp - alfresco-spp.amp - From 6044ec98f7caa21d38e69faa0a9a2b419ba5ba51 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:09:49 +0000 Subject: [PATCH 330/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123231 mrogers: Rename the alfresco-enterprise-update-package to the alfresco-one-update-package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124033 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 4 ++-- enterprise-update/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index fcc06ed55f..e55b052fa0 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -32,7 +32,7 @@ --alfrescocustomstack_services_startup demand - ${project.build.directory}/test-data/alfresco-enterprise-update-package + ${project.build.directory}/test-data/alfresco-one-update-package @@ -105,7 +105,7 @@ org.alfresco - alfresco-enterprise-update-package + alfresco-one-update-package ${project.version} true ${unpacked.update.package} diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index f01bfa931c..1798d0a225 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -7,9 +7,9 @@ alfresco-full-installation 5.1.1-SNAPSHOT - alfresco-enterprise-update-package + alfresco-one-update-package jar - Alfresco Enterprise Update Package + Alfresco One Update Package ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} From dd4bb979843b97aaa050d8f8da66326321f3c981 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:09:58 +0000 Subject: [PATCH 331/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123233 mrogers: Run the test against alfresco-one-update-package not alfresco-enterprise-update-package git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124034 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../src/test/java/EndToEndIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index 176cf61a81..eb51812699 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -64,7 +64,7 @@ public class EndToEndIntegrationTest String basePath = System.getProperty("unpacked.update.package"); if (basePath == null) { - basePath = "./test-data/alfresco-enterprise-update-package"; + basePath = "./test-data/alfresco-one-update-package"; } File base = new File(targetDir, basePath); assertTrue(base.isDirectory()); From bcde49e0e553d51b8d3155cdebb77d3d6579d23d Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:10:26 +0000 Subject: [PATCH 332/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123239 mrogers: Build against Platform 5.1.1-SNAPSHOT since that contains our MMT fixes. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124035 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 67c9641b7c92c01cd16c0ec3fa75126aea81c5c3 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:12:00 +0000 Subject: [PATCH 333/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123256 mrogers: rollback 123243 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124037 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 6 ++-- enterprise-war-for-ear/pom.xml | 57 ---------------------------------- pom.xml | 1 - 3 files changed, 3 insertions(+), 61 deletions(-) delete mode 100644 enterprise-war-for-ear/pom.xml diff --git a/ear/pom.xml b/ear/pom.xml index 6306175607..3cbe834c96 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -26,8 +26,8 @@ org.alfresco - alfresco-enterprise-war-for-ear - ${project.version} + alfresco-platform-enterprise + ${alfresco.platform.version} war @@ -172,7 +172,7 @@ org.alfresco - alfresco-enterprise-war-for-ear + alfresco-platform-enterprise alfresco.war diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml deleted file mode 100644 index 1db7e2b636..0000000000 --- a/enterprise-war-for-ear/pom.xml +++ /dev/null @@ -1,57 +0,0 @@ - - 4.0.0 - alfresco-enterprise-war-for-ear - Alfresco Enterprise WAR for inclusion in EAR - - org.alfresco - alfresco-full-installation - 2015-SNAPSHOT - - war - - - - org.alfresco - alfresco-platform-enterprise - ${alfresco.platform.version} - war - - - org.alfresco - alfresco-share-services - ${alfresco.share.version} - amp - - - - - alfresco - - - maven-war-plugin - - - - org.alfresco.maven.plugin - alfresco-maven-plugin - 2.1.1 - - - - - - org.alfresco - alfresco-platform-enterprise - war - - - org.alfresco - alfresco-share-services - amp - - - - - - - diff --git a/pom.xml b/pom.xml index 4fee219cf1..db61c1276a 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,6 @@ enterprise - enterprise-war-for-ear ear enterprise-distribution enterprise-update From 525365dd0d321f8c1d98ceddf5117eb3347c2ee8 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:12:22 +0000 Subject: [PATCH 334/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123261 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113329 jphuynh: ACE-4314: Added a release profile to enforce the installer naming convention git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124038 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e5ea038331b8d2a70871c6da1e323f5624a32aec Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:13:01 +0000 Subject: [PATCH 335/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123262 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113363 jphuynh: ACE-4312: Fixed missing web-extension folder in the EAR Distribution + Removed unnecessary modules/platform folder. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124039 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 31 +++++++++++++++++++++++++-- ear/src/assembly/ear-distribution.xml | 4 ++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 3cbe834c96..b10bf7b441 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -65,6 +65,19 @@ + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + provided + + + * + * + + + @@ -198,7 +211,7 @@ maven-dependency-plugin - unpack-distribution + unpack-platform-distribution prepare-package unpack-dependencies @@ -206,7 +219,21 @@ alfresco-platform-enterprise-distributionzip true - alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/ + alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/modules/ + + + + + unpack-share-distribution + prepare-package + + unpack-dependencies + + + alfresco-share-distribution + true + * + alfresco-share-distribution-${alfresco.share.version}/web-extension-samples/ diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 549f26a600..5e5e9ead3f 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -18,6 +18,10 @@ ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath + + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples + web-server/classpath/alfresco/web-extension + From 4a9f09b58e39cae22aafc2f2009d81903419e058 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:13:15 +0000 Subject: [PATCH 336/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123263 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113466 jphuynh: ACE-4335: Added missing enterprise classifier for GoogleDocs integration artifacts. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124040 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 29b158199c..b390ee5c43 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -127,12 +127,14 @@ org.alfresco.integrations alfresco-googledocs-repo ${alfresco.googledocs.version} + enterprise amp org.alfresco.integrations alfresco-googledocs-share ${alfresco.googledocs.version} + enterprise amp From d6e239666e83518e32dad84a64e1e752af64df09 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:14:38 +0000 Subject: [PATCH 337/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123264 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113813 jphuynh: ACE-4276: Upgraded Installbuilder to 15.9.0 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124041 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From dfae9c07f940a542ab3f656d04587b31d2f0a6f5 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:15:03 +0000 Subject: [PATCH 338/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123265 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 115168 jphuynh: ACE-4508: Reinstated the forgotten alfresco-spp.amp git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124042 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/installer/pom.xml b/installer/pom.xml index ec49c2e095..39bf1c5547 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -333,6 +333,14 @@ ${alfresco.googledocs.version} amp + + + org.alfresco + alfresco-spp + ${alfresco.platform.version} + amp + alfresco-spp.amp + From 6a69eb8b6db6e8f2a5f0cd4c50c408ebb89e24ff Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:18:35 +0000 Subject: [PATCH 339/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123268 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 115782 jphuynh: ACE-4547: Clean up and updated consistency of the README files. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124043 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/main/resources/README.txt | 3 +-- enterprise-distribution/src/main/resources/README.txt | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 517e56f94d..62c0a6f580 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -1,5 +1,4 @@ -Alfresco Community (Build: ${installer.version.name}) -=============================== +Alfresco One Community (Build: ${installer.version.name}) Contains: - Alfresco Platform: ${alfresco.platform.version} diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index 7091aa83ca..ccba8e6601 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -1,4 +1,4 @@ -Alfresco One (Build: ${installer.version.name}) +Alfresco One Enterprise (Build: ${installer.version.name}) =============================== Contains: From c1aa828405209c697a7c4ff5bdec06609c51e175 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:19:01 +0000 Subject: [PATCH 340/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123269 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 116121 jphuynh: ACE-4561: Release Agility: Updates to the installer - Alfresco One Enterprise git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124044 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index b390ee5c43..054effc0fc 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco One' + project.fullName='Alfresco One Enterprise' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 @@ -32,7 +32,7 @@ - alfresco-enterprise + alfresco-one-enterprise ${alfresco.package.name}-distribution From e1d6b5be6d696981ecc84ffe42ac2c205f8032f2 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:19:15 +0000 Subject: [PATCH 341/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123270 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 116128 jphuynh: ACE-4561: Release Agility: Updates to the installer - Distribution zip name remains the same as before. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124045 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 054effc0fc..e3f769f123 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -33,7 +33,7 @@ alfresco-one-enterprise - ${alfresco.package.name}-distribution + alfresco-enterprise-distribution From 921332911230a2a08ddc1bb5f13574728af9a5fc Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:28:09 +0000 Subject: [PATCH 342/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123267 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 115174 jphuynh: ACE-4494: Updated Java to 1.8.0_65 to fix the following vulnerabilities: - CVE-2015-4868 - CVE-2015-4803 - CVE-2015-4893 - CVE-2015-4911 - CVE-2015-4872 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124047 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 1481962405c27be4d2059a83b8a869465b4e76f1 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:29:03 +0000 Subject: [PATCH 343/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123276 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 117634 jphuynh: Merged BDE-443 (5.1.0) to trunk (2015.0) 114665 jphuynh: Updated: - installer.common.version=5.1-20151016 - installer.postgresql.version=9.4.4-20151016 - installer.libreoffice.version=4.4.5-20151016 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124048 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 382164f8c4ab58f133bd508aa9f77cbe0e4af989 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:29:19 +0000 Subject: [PATCH 344/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123277 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 117929 jphuynh: ACE-4675: Upgraded common package to fix CVE-2015-8126 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124049 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 405e22ed445aa8b75dd16e4a507df9f2645c3f17 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:29:45 +0000 Subject: [PATCH 345/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123278 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 118074 jphuynh: ACE-4600: Upgraded to InstallBuilder 15.10.1 (Custom) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124050 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From b50bedc94fd1b5f906469484ef8f0074ab7da1b5 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:56:45 +0000 Subject: [PATCH 346/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123284 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124058 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 32c2826f640411fe1bcc27ef9c08a9605c9fc67f Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:57:11 +0000 Subject: [PATCH 347/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123285 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124059 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 6aa97b2a045217dc2e7ac507a1170b7be4ac3d3c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:57:18 +0000 Subject: [PATCH 348/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123286 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124060 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e85ea4c8a035fe395ea14f7b22988f3842e139cf Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:57:25 +0000 Subject: [PATCH 349/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123288 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124061 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From ac5d966e4a292e2c37bdcf78017ecc2c14598794 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:57:34 +0000 Subject: [PATCH 350/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123289 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124062 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From daa012a6d3a1e2e2030a4075b32858243cec423e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:57:42 +0000 Subject: [PATCH 351/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123304 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124064 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From ea72a3b584784c76b85b02e2988e96760f65b796 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:58:04 +0000 Subject: [PATCH 352/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123305 mrogers: Change update assistant to use renamed alfresco-one-platform-distributionzip git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124065 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 1798d0a225..d792936804 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -13,7 +13,7 @@ ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} ${project.build.directory}/dependency/wcmqs-${project.version} ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} @@ -89,7 +89,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip @@ -181,7 +181,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} true zip From 53d55d802c958ba5f9f567f29cdbea70e15674cf Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:58:14 +0000 Subject: [PATCH 353/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123307 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124066 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e7433556d7b4f2f8abab8f4bb45bb416795d37ea Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:58:20 +0000 Subject: [PATCH 354/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123308 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124067 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From c143becf9938720be51cd7a66778b48d6f80a2f8 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:58:34 +0000 Subject: [PATCH 355/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123310 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124068 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 03ae31140da000cc95a8bb3e4c1331d7a0215092 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:58:43 +0000 Subject: [PATCH 356/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123314 mrogers: File tree comparison needs to ignore comment lines. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124069 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 7 +++++++ .../update/tool/dircomp/FileTreeCompareImplTest.java | 1 + 2 files changed, 8 insertions(+) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 3dc4fd40cc..e5a837cb41 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -233,6 +233,7 @@ public class FileTreeCompareImpl implements FileTreeCompare // Create a pattern for module.installDate Pattern installDatePattern = Pattern.compile("module.installDate=.*[\n\r\f]*$"); + Pattern commentPattern = Pattern.compile("^#.*"); File processed = Files.createTempFile(orig.getName(), ".tmp").toFile(); try(Reader r = new FileReader(orig); @@ -255,6 +256,12 @@ public class FileTreeCompareImpl implements FileTreeCompare // replace module.installDate line = m.replaceFirst("module.installDate="); } + Matcher cp = commentPattern.matcher(line); + if(cp.matches()) + { + // replace module.installDate + line = "# {comment suppressed}\n"; + } pw.println(line); } diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java index 093d09a766..938ef2722a 100644 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -284,6 +284,7 @@ public class FileTreeCompareImplTest private String sampleModuleProperties(String installDateAsString) { StringBuilder sb = new StringBuilder(); + sb.append("# " + installDateAsString + "\n"); sb.append("module.id=org.alfresco.integrations.share.google.docs\n"); sb.append("module.version=3.0.3\n"); sb.append("module.buildnumber=4ent\n"); From b96f95aa7b97d417767ef60277af9fc78f5359cb Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 12:58:46 +0000 Subject: [PATCH 357/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123337,123472 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124070 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 0d96ad055d1efd714b6482ee95966a5a27e94585 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:00:39 +0000 Subject: [PATCH 358/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123492 mrogers: Package the correct README for the all in one installer. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124071 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 10 ++++++- enterprise-update/pom.xml | 31 ++++++++++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 241dec6cb8..12eebca3e5 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -38,12 +38,20 @@ ${unpacked.alfresco.platform.distribution} resources/distribution/platform - README.txt package.properties keep + + ${unpacked.alfresco.one.distribution} + resources/distribution/platform + + README.txt + + keep + + ${unpacked.alfresco.platform.distribution} diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index d792936804..2ba337446c 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -17,6 +17,7 @@ ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} ${project.build.directory}/dependency/wcmqs-${project.version} ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} + ${project.build.directory}/dependency/alfresco-one-distribution-${project.version} ${project.build.directory}/classes/script/${version.major}.${version.minor} @@ -102,6 +103,14 @@ zip + + + org.alfresco + alfresco-one-distribution + ${project.version} + jar + + junit @@ -226,7 +235,27 @@ - + + + + unpack-one-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-one-distribution + ${project.version} + true + jar + ${unpacked.alfresco.one.distribution} + + + + From 3671b5a33bdcbd39ec42a93fe6174667e6a3972e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:00:53 +0000 Subject: [PATCH 359/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123496 mrogers: alfresco-share-services.amp needs to be called exactly that not with a 5.1.1-SNAPSHOT git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124072 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 12eebca3e5..afc4a6f90b 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -209,6 +209,7 @@ false true resources/amp/platform + alfresco-share-services.amp org.alfresco:alfresco-share-services:amp:* From 37fb4b9e94ac1e138a5d0f8ab350ae42e96481d9 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:01:01 +0000 Subject: [PATCH 360/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123497 mrogers: convert the readme to windows line format. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124073 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index afc4a6f90b..0c46983a41 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -19,7 +19,7 @@ *.bat - keep + dos @@ -40,7 +40,7 @@ package.properties - keep + dos @@ -49,7 +49,7 @@ README.txt - keep + dos @@ -60,7 +60,7 @@ README.txt package.properties - keep + dos @@ -71,7 +71,7 @@ README.txt package.properties - keep + dos From fea5e40e57cfecf9950096a1b1339a7395da41d1 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:01:08 +0000 Subject: [PATCH 361/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123498 mrogers: Another README that needs converting to dos git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124074 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 0c46983a41..742a06c24d 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -120,7 +120,7 @@ README.txt package.properties - unix + dos From 2eff753b1fe10669d5d1edf09f27086b2559c7d6 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:01:17 +0000 Subject: [PATCH 362/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123519 mrogers: Ignore share-config-custom.xml git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124075 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index e5a837cb41..dcc02584bc 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -75,7 +75,10 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths.add(toPlatformPath("**/solrcore.properties")); ignorePaths.add(toPlatformPath("**/modifications.install")); ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); - ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); + + // Ignore for 5.1 MNT-14307 + ignorePaths.add(toPlatformPath("alfresco/web-extension/share-config-custom.xml")); + } if (allowedDiffsPaths == null) From 9c819f7429935391683fc0ac37a5791776145406 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:01:39 +0000 Subject: [PATCH 363/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123525 mrogers: Add the solr4 archive schema.xml to the update package. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124076 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update/assemblies/updateTool.xml | 10 +++++++ enterprise-update/pom.xml | 33 ++++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 742a06c24d..bdbefa8ebe 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -84,6 +84,16 @@ keep + + + + ${unpacked.solr4.distribution}/archive-SpacesStore/conf + resources/distribution/common/solr4/archive-SpacesStore/conf + + schema.xml + + keep + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index 2ba337446c..1ede413b11 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -18,6 +18,7 @@ ${project.build.directory}/dependency/wcmqs-${project.version} ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} ${project.build.directory}/dependency/alfresco-one-distribution-${project.version} + ${project.build.directory}/dependency/solr4-distribution-${project.version} ${project.build.directory}/classes/script/${version.major}.${version.minor} @@ -110,6 +111,15 @@ ${project.version} jar + + + + org.alfresco + alfresco-solr4 + ${alfresco.platform.version} + config + zip + @@ -255,7 +265,28 @@ - + + + + unpack-solr4-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-solr4 + ${alfresco.platform.version} + config + true + zip + ${unpacked.solr4.distribution} + + + + From e5d030b7ad102c5136b33071382e94478b5b4bd6 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:01:48 +0000 Subject: [PATCH 364/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123527 mrogers: Correct path for share-config-custom.xml git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124077 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index dcc02584bc..99472447ea 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -77,7 +77,7 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); // Ignore for 5.1 MNT-14307 - ignorePaths.add(toPlatformPath("alfresco/web-extension/share-config-custom.xml")); + ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); } From c2864afc9ca0a540cd8498cb6833f568dc9582ec Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:01:57 +0000 Subject: [PATCH 365/670] Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123532 mrogers: Now that the end to end test passes, use a junit assert to break the build if it fails. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124078 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/update/tool/dircomp/ResultSet.java | 14 +++++++------- .../src/test/java/EndToEndIntegrationTest.java | 6 +++++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java index a66d4a473b..a96a426569 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java @@ -13,7 +13,7 @@ import java.util.List; public class ResultSet { final List results = new ArrayList<>(); - final Stats stats = new Stats(); + public final Stats stats = new Stats(); /** * Class for aggregating basic statistics relating to the directory tree comparisons. @@ -27,18 +27,18 @@ public class ResultSet /** * The number of files (including directories) examined. */ - int resultCount; + public int resultCount; /** - * The number of files discovered to have differences. + * The number of files discovered to have differences that are not allowed or ignored. */ - int differenceCount; + public int differenceCount; /** - * The number of files discovered to have differences, but where we do not care. + * The number of files discovered to have differences, but the difference is allowed. */ - int suppressedDifferenceCount; + public int suppressedDifferenceCount; /** * The number of files that were completely ignored due to being in the ignore list. */ - int ignoredFileCount; + public int ignoredFileCount; } } diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index eb51812699..53fec9617c 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -107,7 +107,7 @@ public class EndToEndIntegrationTest // Run the diff tool compare(referenceInstance, updateThisOne); - + } /** @@ -172,6 +172,10 @@ public class EndToEndIntegrationTest { zformatter.format(resultSet, zos); } + + + assertTrue("update test has found unexpected differences, see the installation-diff-report for further details", resultSet.stats.differenceCount == 0); + } /** From 4ffa58131a25f73208309dd0c0cc813ebd3e8a11 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 15 Mar 2016 13:35:10 +0000 Subject: [PATCH 366/670] Reverting incorrect merges from mass WOLF-6 merge git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124081 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 1 - distribution/src/main/resources/README.txt | 3 +- ear/pom.xml | 20 ++------ ear/src/assembly/ear-distribution.xml | 6 +-- enterprise-distribution/pom.xml | 7 ++- .../src/main/resources/README.txt | 2 +- enterprise-installer/pom.xml | 46 +++++++------------ installer/pom.xml | 8 ++++ pom.xml | 6 +-- 9 files changed, 41 insertions(+), 58 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 296b30f5cc..877eacf5e3 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -13,7 +13,6 @@ 8080 - community diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 62c0a6f580..517e56f94d 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -1,4 +1,5 @@ -Alfresco One Community (Build: ${installer.version.name}) +Alfresco Community (Build: ${installer.version.name}) +=============================== Contains: - Alfresco Platform: ${alfresco.platform.version} diff --git a/ear/pom.xml b/ear/pom.xml index b10bf7b441..d5e130baa9 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -36,13 +36,6 @@ ${alfresco.share.version} war - - - org.alfresco - alfresco-enterprise-vti-bin - ${alfresco.platform.version} - war - org.alfresco alfresco-server-root @@ -54,7 +47,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip provided @@ -193,11 +186,6 @@ share share.war - - org.alfresco - alfresco-enterprise-vti-bin - _vti_bin.war - org.alfresco alfresco-server-root @@ -217,9 +205,9 @@ unpack-dependencies - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip true - alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/solr4/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/modules/ + alfresco-one-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/modules/ @@ -251,7 +239,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/lib diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 5e5e9ead3f..35732d8b91 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,14 +8,14 @@ - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-platform-enterprise-distributionzip-${alfresco.platform.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath @@ -30,7 +30,7 @@ ${project.build.directory}/alfresco-ear-distribution-${installer.version.name}.ear - alfresco-enterprise-${installer.version.name}.ear + alfresco-one-${installer.version.name}.ear diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index c610d3aa8b..e054447097 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -6,21 +6,20 @@ alfresco-full-installation 5.1.1-SNAPSHOT - alfresco-enterprise-distribution + alfresco-one-distribution jar Alfresco Full Distribution (Enterprise Edition) 8080 - enterprise org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip @@ -82,7 +81,7 @@ org.alfresco - alfresco-platform-enterprise-distributionzip + alfresco-one-platform-distributionzip ${alfresco.platform.version} zip diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index ccba8e6601..7091aa83ca 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -1,4 +1,4 @@ -Alfresco One Enterprise (Build: ${installer.version.name}) +Alfresco One (Build: ${installer.version.name}) =============================== Contains: diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index e3f769f123..acdf25c85a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.1.1-SNAPSHOT - alfresco-enterprise-installer + alfresco-one-installer pom Alfresco Enterprise Full Installers @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco One Enterprise' + project.fullName='Alfresco One' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 @@ -25,15 +25,14 @@ alfresco_edition=enterprise alfresco_package='${alfresco.package.name}' alfrescogoogledocs_component_enabled=1 - alfrescosharepoint_component_enabled=0 alfrescosolr_component_enabled=1 alfrescowcmqs_component_enabled=1 project.outputDirectory=${project.build.directory} - alfresco-one-enterprise - alfresco-enterprise-distribution + alfresco-one + alfresco-one-distribution @@ -68,13 +67,13 @@ org.alfresco - alfresco-installer-resources + alfresco-one-installer-resources ${alfresco.platform.version} ${project.build.directory}/classes org.alfresco - alfresco-enterprise-distribution + alfresco-one-distribution ${project.version} zip ${project.build.directory}/distribution @@ -112,6 +111,14 @@ ${project.build.directory}/wcmqs alfresco/extension/** + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} + zip + ${project.build.directory}/distribution/aos-module + @@ -143,27 +150,6 @@ - - - maven-resources-plugin - - - override-local-resources - prepare-package - - resources - - - ${project.build.directory} - true - - properties - - - - - - maven-antrun-plugin @@ -190,7 +176,9 @@ ${project.build.directory}/classes/bitrock - + + + diff --git a/installer/pom.xml b/installer/pom.xml index 39bf1c5547..38c2befbd3 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -310,6 +310,14 @@ ${project.build.directory}/wcmqs alfresco/extension/** + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} + zip + ${project.build.directory}/distribution/aos-module + diff --git a/pom.xml b/pom.xml index db61c1276a..1856e48773 100644 --- a/pom.xml +++ b/pom.xml @@ -23,8 +23,8 @@ 1.0-SNAPSHOT - - + + 1.1 @@ -81,7 +81,7 @@ enterprise-distribution enterprise-update enterprise-installer - enterprise-update-test + enterprise-update-test From 17fe07f3de7e99a6b8c4dcf3b32cd4344017d802 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Tue, 15 Mar 2016 14:56:42 +0000 Subject: [PATCH 367/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 123996 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124084 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 1dd75f1a0e2118afed49460c38022de12d2ca433 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Wed, 16 Mar 2016 13:36:10 +0000 Subject: [PATCH 368/670] hard code a value for base.installer.version git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124136 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1856e48773..88889c58eb 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,9 @@ alfresco-community ${alfresco.package.name}-distribution + + + https://releases.alfresco.com/Enterprise-5.1/5.1.0/AlfrescoOne/build-00019/ALL/alfresco-one-installer-201603-linux-x64.bin @@ -81,7 +84,7 @@ enterprise-distribution enterprise-update enterprise-installer - enterprise-update-test + enterprise-update-test From 881a7da07d83e2e7dca7a6f892247ea97a44c3cc Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Wed, 16 Mar 2016 13:52:16 +0000 Subject: [PATCH 369/670] Added a new maven profile for "update-test" git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124140 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 88889c58eb..8fcd4052ed 100644 --- a/pom.xml +++ b/pom.xml @@ -84,6 +84,11 @@ enterprise-distribution enterprise-update enterprise-installer + + + + update-test + enterprise-update-test From ea92b8b8d3162220def6255eac06ac6c20484a2f Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Wed, 16 Mar 2016 14:20:02 +0000 Subject: [PATCH 370/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124106,124109,124119,124120,124123,124129 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124141 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 933082027e07f2650e364ab58546c814ab8670ce Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 16 Mar 2016 15:57:16 +0000 Subject: [PATCH 371/670] remove nested mergeinfo git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124151 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 501f2ce3cb2b56e46dd036ec03a294722b6d6dd9 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 17 Mar 2016 09:46:28 +0000 Subject: [PATCH 372/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) - correct pom.xml version git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124165 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index e55b052fa0..c311281b7b 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -6,7 +6,7 @@ org.alfresco alfresco-full-installation - 5.1.1-SNAPSHOT + 5.1.2-SNAPSHOT - https://releases.alfresco.com/Enterprise-5.1/5.1.0/AlfrescoOne/build-00019/ALL/alfresco-one-installer-201603-linux-x64.bin + https://nightlybuilds.alfresco.com/Enterprise-5.2/LATEST-BASE-INSTALLER From 0891e13a8b634aadbfbfcfa2349d9cffb919866e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Fri, 18 Mar 2016 12:54:41 +0000 Subject: [PATCH 376/670] Temp fix to work around MNT-15874 - test to ignore alfresco-global.properties for now. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.1@124235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 99472447ea..e0a7d612fa 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -75,6 +75,9 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths.add(toPlatformPath("**/solrcore.properties")); ignorePaths.add(toPlatformPath("**/modifications.install")); ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); + + // Temp fix for the fall-out for MNT-15874 + ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco-global.properties")); // Ignore for 5.1 MNT-14307 ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); From 5b246a695cf703a22bf462e49e4b5fe58acc434f Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Fri, 18 Mar 2016 13:10:38 +0000 Subject: [PATCH 377/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124239 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124241 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 7898a9aab32b74b241f8b1a09f6da45bd138d09f Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 18 Mar 2016 14:01:03 +0000 Subject: [PATCH 378/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124244 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124245 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 914ba5d2d917517d839afa660db0d62f5d8ba558 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Fri, 18 Mar 2016 15:02:01 +0000 Subject: [PATCH 379/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124246 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124249 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From ec04bf0a8ab160aad255372c3f28d3769dfaef17 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 21 Mar 2016 11:04:45 +0000 Subject: [PATCH 380/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124171 jphuynh: MNT-15874: Fix missing Remote Solr configuration properties. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@124275 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 1db5a9804c..67dbda97bc 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -63,7 +63,8 @@ dir.license.external=@@BITROCK_ALFRESCO_LICENSE_DIR@@ ### Solr indexing ### index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore -solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ +solr.host=localhost +solr.port.ssl=@@BITROCK_SOLR_SSL_PORT@@ ### Smart Folders Config Properties ### smart.folders.enabled=false From 4514b4d91563785eb563d32210b97d129419039d Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 21 Mar 2016 11:06:46 +0000 Subject: [PATCH 381/670] Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124275 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124171 jphuynh: MNT-15874: Fix missing Remote Solr configuration properties. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@124281 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 1db5a9804c..67dbda97bc 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -63,7 +63,8 @@ dir.license.external=@@BITROCK_ALFRESCO_LICENSE_DIR@@ ### Solr indexing ### index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore -solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ +solr.host=localhost +solr.port.ssl=@@BITROCK_SOLR_SSL_PORT@@ ### Smart Folders Config Properties ### smart.folders.enabled=false From 8aed2922da78fa167ade2f0ceb7edd74248eb5ef Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 21 Mar 2016 11:09:58 +0000 Subject: [PATCH 382/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124264 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124296 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 3b3d9e49f650ff061fdb9f836a89bb8e72b58464 Mon Sep 17 00:00:00 2001 From: Andreea Dragoi Date: Tue, 22 Mar 2016 14:38:32 +0000 Subject: [PATCH 383/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124321 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124373 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From bed1a78029bbca6eb08e293567c3b919dbf46bc5 Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Wed, 23 Mar 2016 14:47:53 +0000 Subject: [PATCH 384/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124409 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124422 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From f4441c7cc2a8ca4be59cfa540489bf3f24dbc958 Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Thu, 24 Mar 2016 14:39:48 +0000 Subject: [PATCH 385/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124430,124431,124432,124446 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124457 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a07311e34e52cfe5396b20f0bf178aa4cacb30ae Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Fri, 25 Mar 2016 13:11:19 +0000 Subject: [PATCH 386/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124465,124466,124467,124468 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124487 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 843019da418967847e6fdf26e5b941b8e00d30d4 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Mon, 28 Mar 2016 08:09:32 +0000 Subject: [PATCH 387/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124509,124510 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124523 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From eb801cf9583134a21fa43c7028983a49f4a28d85 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Tue, 29 Mar 2016 08:10:07 +0000 Subject: [PATCH 388/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124539 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124541 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 9c3af9fa242a405f0e3e2facfe2890aa961ab173 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Wed, 30 Mar 2016 14:20:15 +0000 Subject: [PATCH 389/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124596 slanglois: ACE-5135 Add aspecjrt jar to myfaces1_1-websphere-shared-lib git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124598 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ear/pom.xml b/ear/pom.xml index b156daebb7..adea94403c 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -157,6 +157,12 @@ 4.3.2 provided + + org.aspectj + aspectjrt + 1.8.2 + provided + From 0b7b14ce937d2bd2a3153b4202c8dfb2b4227d72 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Thu, 31 Mar 2016 14:52:58 +0000 Subject: [PATCH 390/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124618,124619 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124662 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 63e3518a614be448c754af192c45c9c97f023b1e Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Fri, 1 Apr 2016 08:26:21 +0000 Subject: [PATCH 391/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124682,124691 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124702 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 7286b41cb9cfa3ad629c54dbc013502d58c335f7 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 4 Apr 2016 08:57:26 +0000 Subject: [PATCH 392/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124406 jphuynh: ACE-5135: Pre-apply share-services AMP in alfresco.war packaged in EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124767 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 6 ++-- enterprise-war-for-ear/pom.xml | 57 ++++++++++++++++++++++++++++++++++ pom.xml | 1 + 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 enterprise-war-for-ear/pom.xml diff --git a/ear/pom.xml b/ear/pom.xml index adea94403c..9faca79a39 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -26,8 +26,8 @@ org.alfresco - alfresco-platform-enterprise - ${alfresco.platform.version} + alfresco-enterprise-war-for-ear + ${project.version} war @@ -184,7 +184,7 @@ org.alfresco - alfresco-platform-enterprise + alfresco-enterprise-war-for-ear alfresco.war diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml new file mode 100644 index 0000000000..1db7e2b636 --- /dev/null +++ b/enterprise-war-for-ear/pom.xml @@ -0,0 +1,57 @@ + + 4.0.0 + alfresco-enterprise-war-for-ear + Alfresco Enterprise WAR for inclusion in EAR + + org.alfresco + alfresco-full-installation + 2015-SNAPSHOT + + war + + + + org.alfresco + alfresco-platform-enterprise + ${alfresco.platform.version} + war + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + + + + + alfresco + + + maven-war-plugin + + + + org.alfresco.maven.plugin + alfresco-maven-plugin + 2.1.1 + + + + + + org.alfresco + alfresco-platform-enterprise + war + + + org.alfresco + alfresco-share-services + amp + + + + + + + diff --git a/pom.xml b/pom.xml index 2aabf97986..575359a2c2 100644 --- a/pom.xml +++ b/pom.xml @@ -80,6 +80,7 @@ enterprise + enterprise-war-for-ear ear enterprise-distribution enterprise-update From 4914011ffd82f4f005b8ebb8b044ad09b1bd7559 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 4 Apr 2016 08:58:50 +0000 Subject: [PATCH 393/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124408 jphuynh: ACE-5135: Fixed alfresco-full-installation version git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124768 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-war-for-ear/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 1db7e2b636..33f736a84c 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 2015-SNAPSHOT + 5.1.2-SNAPSHOT war From 121f4d2e295141e169fb95ba1add54b5ef75cc1e Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 4 Apr 2016 09:51:22 +0000 Subject: [PATCH 394/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124710 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124777 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 0e2bc317ddc8a06cafa12fffdf149900669a616d Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 4 Apr 2016 13:12:30 +0000 Subject: [PATCH 395/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124794 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124801 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a29e70256edfe12bb6005297f383f783fc05ef29 Mon Sep 17 00:00:00 2001 From: Cristian Turlica Date: Tue, 5 Apr 2016 13:00:10 +0000 Subject: [PATCH 396/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124782,124783,124795,124809 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124861 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 1fc2053fd0e4f5a50252c27f2482f2d141e7f935 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Wed, 6 Apr 2016 14:48:06 +0000 Subject: [PATCH 397/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 124871,124872,124877,124888,124889,124908,124914,124915, 124916,124917,124918 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@124934 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 46b54f737e86b758cb6c0dd93ff2d4903f102ab2 Mon Sep 17 00:00:00 2001 From: Cristian Turlica Date: Fri, 8 Apr 2016 14:43:10 +0000 Subject: [PATCH 398/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125001,125004,125007 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125042 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From c7d85465a50c580dcdd6fc339dbd76e44e3f42f2 Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Tue, 12 Apr 2016 12:30:37 +0000 Subject: [PATCH 399/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125051,125052,125053,125055,125060,125067,125111,125116 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125152 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 6c6fd4c96678ec360bc82fd54ce61ed18b291508 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 12 Apr 2016 13:55:56 +0000 Subject: [PATCH 400/670] Added new test for SNAPSHOT and nightly builds git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@125179 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 27671f7b01..27e520dbc2 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -151,6 +151,19 @@ + + + + + + + + + + + + + From 38a7c75768928a04fc71ad4c238b72d77e2aa82e Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 12 Apr 2016 14:00:36 +0000 Subject: [PATCH 401/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125165,125169 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125183 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 9b11630a6c4b15eb0de106b2ea1cadbe504ad59f Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Tue, 12 Apr 2016 15:18:49 +0000 Subject: [PATCH 402/670] Temp fix - remove test of postgres lib git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@125195 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index e0a7d612fa..c26067694a 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -78,6 +78,10 @@ public class FileTreeCompareImpl implements FileTreeCompare // Temp fix for the fall-out for MNT-15874 ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco-global.properties")); + + // Temp fix for PostGress SNAPSHOT upgrade on 5.2 + ignorePaths.add(toPlatformPath("tomcat/lib/postgresql-9.4-1201-jdbc41.jar")); + ignorePaths.add(toPlatformPath(" tomcat/lib/postgresql-9.4.1208.jre7.jar")); // Ignore for 5.1 MNT-14307 ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); From 0529a928a1b1429edeb83afa5ef1daa5cf5eec24 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Wed, 13 Apr 2016 09:15:50 +0000 Subject: [PATCH 403/670] correcting regex git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@125216 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 27e520dbc2..38a3c31453 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -155,13 +155,13 @@ - + - + - + From d6c49670cb5ee327609aab2562eeb8bd8566ed41 Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Wed, 13 Apr 2016 13:39:13 +0000 Subject: [PATCH 404/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125157,125166,125167,125168,125171,125211,125229 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125252 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 9a73aa4649997c3569902eee205aa469366bb550 Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Thu, 14 Apr 2016 11:40:43 +0000 Subject: [PATCH 405/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125254 amukha: ACE-5130: [SUSE 12.0, Web Logic] - Admin Console - Install Application Assistant - Install Alfresco Failed - removed _vti_bin.war from the configuration as it is no longer shipped in the ear. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125343 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/src/main/application/META-INF/application.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml index a659dcb723..426a2d396c 100644 --- a/ear/src/main/application/META-INF/application.xml +++ b/ear/src/main/application/META-INF/application.xml @@ -20,10 +20,4 @@ / - - - _vti_bin.war - /_vti_bin - - From 890273fcb52dceb8ba8b450ebde9eaf425b8db1e Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Thu, 14 Apr 2016 11:41:02 +0000 Subject: [PATCH 406/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125267 slanglois: MNT-16094 Remove ROOT.war from the Alfresco One EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125344 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 11 ----------- ear/src/main/application/META-INF/application.xml | 6 ------ 2 files changed, 17 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 9faca79a39..1ff4837aef 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -36,12 +36,6 @@ ${alfresco.share.version} war - - org.alfresco - alfresco-server-root - ${alfresco.platform.version} - war - @@ -192,11 +186,6 @@ share share.war - - org.alfresco - alfresco-server-root - ROOT.war - diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml index 426a2d396c..badc540b66 100644 --- a/ear/src/main/application/META-INF/application.xml +++ b/ear/src/main/application/META-INF/application.xml @@ -14,10 +14,4 @@ /share - - - ROOT.war - / - - From 39f418e8d888380f958765c83ca2941bced6b3ec Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 14 Apr 2016 15:29:12 +0000 Subject: [PATCH 407/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125253,125257,125274,125284,125288,125300,125311,125312, 125320,125345,125346,125351,125368,125373 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125374 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From dd8665daf195f74e77d913bc2e501e7d76976030 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 14 Apr 2016 15:36:10 +0000 Subject: [PATCH 408/670] Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) (RECORD ONLY) : - 125374 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@125394 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 12985d347e080338123dadd4b1d10efba188cd11 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Fri, 15 Apr 2016 12:22:49 +0000 Subject: [PATCH 409/670] Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125343 rneamtu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125254 amukha: ACE-5130: [SUSE 12.0, Web Logic] - Admin Console - Install Application Assistant - Install Alfresco Failed - removed _vti_bin.war from the configuration as it is no longer shipped in the ear. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@125450 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/src/main/application/META-INF/application.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml index a659dcb723..426a2d396c 100644 --- a/ear/src/main/application/META-INF/application.xml +++ b/ear/src/main/application/META-INF/application.xml @@ -20,10 +20,4 @@ / - - - _vti_bin.war - /_vti_bin - - From e325ad6abdd2a33208c3c2efd753c2d84eee7e71 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Mon, 18 Apr 2016 09:16:12 +0000 Subject: [PATCH 410/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125507 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125526 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 5cc17a36cd0c23d894aafa3e11136183013c23dd Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Wed, 20 Apr 2016 12:24:48 +0000 Subject: [PATCH 411/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125544 mrogers: Integration test javadoc git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125614 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../packaging/PackagingIntegrationTest.java | 19 +++++++++++++++++++ .../pkg/test/ZipFormatIntegrationTest.java | 6 +++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index 80031b0b2b..76d016a7db 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -45,6 +45,22 @@ public class PackagingIntegrationTest updatePackage = new File(pkgName); } + /** + * Test that the package structure within the update package + * is as expected. + *

+ * In particular check the following paths exist. + *

    + *
  • /lib/alfresco-update-tool.jar
  • + *
  • /apply_updates.sh
  • + *
  • /apply_updates.bat
  • + *
  • /resources/war/alfresco.war
  • + *
  • /resources/war/share.war
  • + *
  • /resources/distribution/common/bin/alfresco-mmt.jar
  • + *
  • /resources/distribution/common/bin/alfresco-spring-encryptor.jar
  • + *
  • /resources/distribution/platform/README.txt
  • + *
+ */ @Test public void testPackageStructureIsAsExpected() throws ZipException, IOException { @@ -71,6 +87,9 @@ public class PackagingIntegrationTest assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-mmt.jar"); assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); + // Is the readme present ? + assertPathPresent(paths, dirs[0] + "resources/distribution/platform/README.txt"); + } private void assertPathPresent(Set pathsToCheck, String expectedPath) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java index 98e514af34..c6df311657 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java @@ -35,7 +35,6 @@ import org.junit.Test; */ public class ZipFormatIntegrationTest extends AbstractIntegrationTest { - File updatePackage; @Before @@ -47,6 +46,11 @@ public class ZipFormatIntegrationTest extends AbstractIntegrationTest updatePackage = new File(pkgName); } + /** + * Check that the apply_updates.sh script exists in the update package and + * that it has 0x755 permissions. In particular the +x bit needs to be + * set. + */ @Test public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException { From 7d8d6122fcebe407c9a8e63b145422737e80919d Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Wed, 20 Apr 2016 12:25:07 +0000 Subject: [PATCH 412/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125546 mrogers: Integration test javadoc git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125615 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../test/java/EndToEndIntegrationTest.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index 53fec9617c..259be63951 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -92,7 +92,29 @@ public class EndToEndIntegrationTest initTargetDir(); } - + /** + * Compare an instance of alfresco that has been installed and + * then updated via the update package for the current build with a freshly + * installed instance of the current build. Some differences such as files containing + * the installation path are allowed. Other differences will be detected by the test. + *

+ * The maven build installs two instances of alfresco, an instance that is + * to be updated update, ${base.alfresco.instance} + * and a reference instance, ${this.alfresco.instance} which is the + * current build. + *

+ * The output of the test is a boolean pass/fail but as a side-effect a report + * of the test is also produced, installation-diff-report.html and + * installation-diff-report.zip. The zip file should be empty in a + * successful execution. If there are unexpected differences then these will + * be added to the zip file. + *

+ * The patterns of files to [test | ignore | allow special processing] are currently + * contained within the FileTreeCompareImpl.java class as are the patterns allowed + * during special processing. + * + * @see FileTreeCompareImpl + */ @Test public void testEndToEndUpdate() throws Exception { From cfdb9ce0d32401bc98d95733fcff115995bef76c Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Wed, 20 Apr 2016 12:26:20 +0000 Subject: [PATCH 413/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125581 mrogers: Build fix - correction to r125544 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125616 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/packaging/PackagingIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index 76d016a7db..5f2bde3940 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -88,7 +88,7 @@ public class PackagingIntegrationTest assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); // Is the readme present ? - assertPathPresent(paths, dirs[0] + "resources/distribution/platform/README.txt"); + assertPathPresent(paths, dirs[0] + "/resources/distribution/platform/README.txt"); } From 2d498866997b7bea4edd9501ad7cc672352f03c8 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Wed, 20 Apr 2016 12:28:48 +0000 Subject: [PATCH 414/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125598 slanglois: ACE-5253 Bring AOS (ROOT.war and _vti_bin.war) back into the EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125617 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 22 +++++++++++++++++++ .../main/application/META-INF/application.xml | 12 ++++++++++ 2 files changed, 34 insertions(+) diff --git a/ear/pom.xml b/ear/pom.xml index 1ff4837aef..e442821563 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -36,6 +36,18 @@ ${alfresco.share.version} war + + org.alfresco + alfresco-server-root + ${alfresco.platform.version} + war + + + org.alfresco.aos-module + alfresco-vti-bin + ${alfresco.aos-module.version} + war + @@ -186,6 +198,16 @@ share share.war + + org.alfresco + alfresco-server-root + ROOT.war + + + org.alfresco.aos-module + alfresco-vti-bin + _vti_bin.war + diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml index badc540b66..a659dcb723 100644 --- a/ear/src/main/application/META-INF/application.xml +++ b/ear/src/main/application/META-INF/application.xml @@ -14,4 +14,16 @@ /share + + + ROOT.war + / + + + + + _vti_bin.war + /_vti_bin + + From 2afc69a10b24e27b8c722170ad9031cc32a3b36c Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Wed, 20 Apr 2016 12:38:39 +0000 Subject: [PATCH 415/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125533,125577 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125619 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From fe543d4bb6701a62ee0e0419e50bada1c9631559 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Thu, 21 Apr 2016 14:37:41 +0000 Subject: [PATCH 416/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125628,125641 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125657 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 62ac4bbe72573d31f30869258b7b6f2f76f9cce9 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Tue, 26 Apr 2016 15:29:39 +0000 Subject: [PATCH 417/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125670,125718 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125831 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 7b0be36d1c5f288de504a0b694efa688d84d8fbe Mon Sep 17 00:00:00 2001 From: Andreea Dragoi Date: Wed, 27 Apr 2016 12:48:00 +0000 Subject: [PATCH 418/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125840,125841,125842,125843 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125888 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 468a7761782a868fcfd7353745bdaa766ddd710d Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 09:24:08 +0000 Subject: [PATCH 419/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 124769 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125934 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 18db95bed63a27e87ed7c388011d718ae3b221e8 Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Thu, 28 Apr 2016 09:31:23 +0000 Subject: [PATCH 420/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 125910,125911,125922 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@125936 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 3ac3055238d91f4ed4117ea72fe714f8df841fbd Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 09:49:32 +0000 Subject: [PATCH 421/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 122018,123862,124167 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125950 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From fad95f309ef0798b5ee11020f896b1f08090a3c0 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:37:37 +0000 Subject: [PATCH 422/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124168 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124150 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124081: Reverting incorrect merges from mass WOLF-6 merge, 124078: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123532 mrogers: Now that the end to end test passes, use a junit assert to break the build if it fails., 124077: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123527 mrogers: Correct path for share-config-custom.xml, 124076: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123525 mrogers: Add the solr4 archive schema.xml to the update package., 124075: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123519 mrogers: Ignore share-config-custom.xml, 124074: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123498 mrogers: Another README that needs converting to dos, 124073: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123497 mrogers: convert the readme to windows line format., 124072: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123496 mrogers: alfresco-share-services.amp needs to be called exactly that not with a 5.1.1-SNAPSHOT, 124071: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123492 mrogers: Package the correct README for the all in one installer., 124070: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123337,123472, 124069: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123314 mrogers: File tree comparison needs to ignore comment lines., 124068: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123310, 124067: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123308, 124066: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123307, 124065: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123305 mrogers: Change update assistant to use renamed alfresco-one-platform-distributionzip, 124064: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123304, 124062: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123289, 124061: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123288, 124060: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123286, 124059: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123285, 124058: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123284, 124050: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123278 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 118074 jphuynh: ACE-4600: Upgraded to InstallBuilder 15.10.1 (Custom), 124049: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123277 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 117929 jphuynh: ACE-4675: Upgraded common package to fix CVE-2015-8126, 124048: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123276 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 117634 jphuynh: Merged BDE-443 (5.1.0) to trunk (2015.0) 114665 jphuynh: Updated: - installer.common.version=5.1-20151016 - installer.postgresql.version=9.4.4-20151016 - installer.libreoffice.version=4.4.5-20151016, 124047: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123267 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 115174 jphuynh: ACE-4494: Updated Java to 1.8.0_65 to fix the following vulnerabilities: - CVE-2015-4868 - CVE-2015-4803 - CVE-2015-4893 - CVE-2015-4911 - CVE-2015-4872, 124045: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123270 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 116128 jphuynh: ACE-4561: Release Agility: Updates to the installer - Distribution zip name remains the same as before., 124044: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123269 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 116121 jphuynh: ACE-4561: Release Agility: Updates to the installer - Alfresco One Enterprise, 124043: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123268 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 115782 jphuynh: ACE-4547: Clean up and updated consistency of the README files., 124042: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123265 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 115168 jphuynh: ACE-4508: Reinstated the forgotten alfresco-spp.amp, 124041: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123264 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113813 jphuynh: ACE-4276: Upgraded Installbuilder to 15.9.0, 124040: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123263 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113466 jphuynh: ACE-4335: Added missing enterprise classifier for GoogleDocs integration artifacts., 124039: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123262 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113363 jphuynh: ACE-4312: Fixed missing web-extension folder in the EAR Distribution + Removed unnecessary modules/platform folder., 124038: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123261 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 113329 jphuynh: ACE-4314: Added a release profile to enforce the installer naming convention, 124037: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123256 mrogers: rollback 123243, 124036: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123243 mrogers: Merged trunk (2015.0) to WOLF-6 (WOLF.0.0) 122874 slanglois: ACE-5135 ACE-5131 Pre-apply share-services AMP in alfresco.war packaged in EAR, 124035: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123239 mrogers: Build against Platform 5.1.1-SNAPSHOT since that contains our MMT fixes., 124034: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123233 mrogers: Run the test against alfresco-one-update-package not alfresco-enterprise-update-package, 124033: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123231 mrogers: Rename the alfresco-enterprise-update-package to the alfresco-one-update-package, 124032: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123230 mrogers: Rollback previous changes., 124031: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123184 mrogers: More work on pom files, 124030: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123183 mrogers: Update pom files to a) reflect the fact that the "enterprise" artifact name has been changed to "one", b) update to what is on 5.1, 124029: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123159, 124028: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123121 mrogers: when comparing the two trees, ignore the sol1 war file in alf_data, 124027: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123096, 124026: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123084 mrogers: Add more ignorePaths, 124025: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123080 mrogers: Fix for file names within ZipFormatter ... had // in the path., 124024: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123059 mrogers: UTF-378 - Try toRealPath on file comparison utility., 124023: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 123042, 124022: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123029 mrogers: UTF-378 - A few additions to the ignore patterns + change for zip format to use absolute paths., 124021: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 123015 mrogers: UTF-378 - Now produce the zip file of the update test differences., 124020: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122949 mrogers: UTF-378 - Added some code to ignore module.install date within module.properties, 124019: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122922 mward: UTF-378: added some diff ignore patterns., 124018: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122881 mrogers: Update googledocs to 3.0.3 to keep in line with release, 124017: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122880, 124016: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122860 mward: UTF-378: improved test to ensure multiple occurrences of replacement text are all replaced., 124015: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122856 mward: UTF-384: swapped the 'fresh' and 'updated' in the comparison method call so that the report appears with them in the correct columns., 124014: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122846 mrogers: BDE-539 - Remove kludge., 124013: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122824 jphuynh: BDE-539: Use latest 5.1-SNAPSHOT build as base version for now. (Latest as in previous successful build excluding the current one.), 124012: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122800 mrogers: kludge tests to get something to run., 124011: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122797 mrogers: Corrected test to run on windows., 124010: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122785 mward: UTF-378: fixed path pattern matching on Windows., 124009: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122774 jphuynh: BDE-539: alfrescosharepoint is not a selectable component., 124008: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122767 jphuynh: BDE-539: this.installer.args!, 124007: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122766 jphuynh: BDE-539: AOS Module Only exist on 5.1. Added changes in installer.args to reflect that., 124006: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122764 mward: UTF-378: added missing test data, 124005: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122763 mward: UTF-378: improve result set formatting., 124004: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122756 jphuynh: BDE-539: Fixed typo., 124003: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122755 mward: UTF-378: Fix unit tests, 124002: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122753 jphuynh: BDE-539: Changed wget to ant get., 124001: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122752 mward: UTF-378: Delete temp files when no longer needed, 124000: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122751 mward: UTF-384: wired in comparison tool and HTML formatter to the build., 123999: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122745 mward: UTF-383: added support for deep differencing in amp files., 123998: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122731 mward: UTF-383: added support for ignoring differences in files where it is just the absolute tree root., 123997: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122730 jphuynh: BDE-539: Fixed path and added base version extension check., 123995: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122721 jphuynh: BDE-539: Amended the installer download part., 123994: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122698 mward: UTF-378: bring back all the default java behaviour by removing the pom packaging specification., 123993: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122694 mward: UTF-378: moved the big end-to-end to happen during integration testing., 123992: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122681 mward: Added some sensible svn ignore patterns., 123991: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122680 mward: UTF-383: moved diff tool from update-tool to full-installer code base. Had erroneously added the code to the wrong project., 123990: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122672 mward: Changed language level to 1.7 so that IDEs may pick up the correct configuration., 123989: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122662, 123988: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122643 mrogers: UTF-371 - Add AOS to the update package., 123987: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122613,122620, 123986: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122231 mrogers: UTF-382 - Added the skeleton of the End to End update test., 123985: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122191 mrogers: Try again, 123984: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122189 mrogers: For now we have a hard coded url and its just changed., 123983: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122186 mrogers: UTF-380 Now should update both source and target instances of alfresco. (They are both the same but that should allow us to progress with building the rest of build.), 123982: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122179 mrogers: UTF-380 Try again., 123981: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122172 mrogers: UTF-380 Temp build fix, 123980: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122162 mrogers: UTF-380 - Add install steps, 123979: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122157 mrogers: UTF-380 - Work in progress., 123977: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122137 mrogers: Fix merge error., 123976: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 122095,122124, 123975: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 122086 mrogers: UTF-379 - add new test project., 123974: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121992,122038, 123973: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121858 nsmintanca: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121838 mward: UTF-370: fixed and added back apply_updates.sh executable bit tests., 123972: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121857, 123971: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121760 nsmintanca: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121725 mrogers: UTF-370 - Disable permissions unit test., 123970: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121759, 123969: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121758 nsmintanca: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121690 mrogers: UTF-370 - Replace TgZFormatIntegrationTest with ZipFormatIntegrationTest, 123968: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121683, 123967: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121669 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121667 mrogers: UTF-370 - Get rid of the .tgz archive, 123966: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121668 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121665 mrogers: Remove un-used update assembly, 123965: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121638, 123964: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121560 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121460 mrogers: UTF-375 - added awe.war and also simplified update build to use the wqs distribution package, 123963: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121490, 123962: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121487 abalmus: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121456 mrogers: UTF-373 - Add _vti_bin.war to 5.0 update package, 123961: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121407,121449,121486, 123960: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121406 rmunteanu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121352 mrogers: Correcting upgrade assistant script, 123959: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121308,121405, 123958: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121307 amorarasu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121251 mrogers: UTF-365 - Adding Update Script to the 5.0 update package, 123957: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121306, 123956: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121294 mward: UTF-348: include filtered package.properties in package., 123955: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121239, 123954: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121209 mward: UTF-348: Tie the update tool version to the encompasing package, 123953: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121126,121131,121138, 123952: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121089 mrogers: UTF-368 - Add the share specific README to the update package, 123951: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121083 mrogers: Remove some maven warnings from updateTool.xml assembly, 123950: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121081 mrogers: UTF-366 - add new test for update package that now contains bin/mmt.jar & rework for 5.1, 123949: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 121055, 123948: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121054 amorarasu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121039 mrogers: UTF-366 - Adding MMT.jar to update package, 123947: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 121053 amorarasu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 121032 mrogers: UTF-367 - The update tool needs to update the $ALF_HOME/README file in the root of $ALF_HOME, 123946: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 120741,120754,120829,120900,120948,120974,121052, 123945: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120733 aleahu: Reverse merged WOLF-6 (WOLF.0.0) 120727 aleahu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 120639 mrogers: UTF-464 - update package should contain share-enterprise not share [community] on 5.0, 123944: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 120728, 123943: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120727 aleahu: 120727 aleahu: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 120639 mrogers: UTF-464 - update package should contain share-enterprise not share [community] on 5.0, 123942: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 120532,120599,120702,120703,120710, 123941: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120497 mrogers: Merged 5.0.N (5.0.4) to WOLF-6 (WOLF.0.0) 120491 mrogers: UTF-359 - Add WQS artifacts to upgrade package., 123940: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 120494 mrogers: Adding ignore for .settings, 123939: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 115409,115501,115512,115541,115756,115819,115835,115957, 115964,115986,116209,116408,116540,116549,116648,117382, 117504,117524,117594,117705,117946,117947,117964,118107, 118180,118197,118329,118434,118530,118647,118727,118901, 118921,118945,119296,119533,119585,119607,119703,119827, 119855,120070,120115,120164,120265,120300,120348,120376, 120419, 123938: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 115360 mrogers: UTF-310 - added share service amp to update package., 123937: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 114842,115008,115300, 123936: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 114818 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 114806: UTF-302 - adding README.txt to update package., 123935: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 113266,113276,113286,113430,113507,113549,113595,113681, 113736,113817,113901,114028,114097,114234,114304,114478, 114479,114480,114481,114748, 123934: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 113265 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 113207 mrogers: Add googledocs AMPS again, 123933: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112929,113056,113114,113262,113263,113264, 123932: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112712 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112710: UTF-272 - Add SOLR4.WAR to update package., 123931: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112358,112463,112530,112565,112625, 123930: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112277 mrogers: Make this file compile!, 123929: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112275 mrogers: Please work!, 123928: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112266 mrogers: Correcting packaging unit test, 123927: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112223,112265, 123926: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112207 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112201: UTF-264 - Make update test aware that its no longer a "tar bomb", 123925: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 112182, 123924: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112169 mrogers: attempt to get these tests to work., 123923: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112147 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112133: Fix up TgZ test after moving apply_updates.sh, 123922: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 112146 mrogers: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 112131: Change structure of update package., 123921: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) (RECORD ONLY) : - 111938,112043,112116, 123920: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111926 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111638: UTF-242: refactored archive unpacking code to use try-with-resources for brevity., 123919: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111925 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111630: UTF-242: Unix specific test for apply_updates.sh, 123918: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111924 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111613: UTF-242: added maven integration-test support to the update package project., 123917: Merged WOLF-6 (WOLF.0.0) to 5.1.1 (5.1.1) 111922 adavis: Merged 5.0.N (5.0.3) to WOLF-6 (WOLF.0.0) 111602: UTF-241: Create a new upgrade package in .tgz format. Note that the subpackage (the "update contents") within the tgz is still a zip file - the update tool expects to find a zip file that it can use. Also note that the zip package format is in fact capable of storing the execute bits and when unpacking it on a *nix machine, I do see the bin/apply_updates.sh file as having the correct 755 file mode. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125963 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/mer.bat | 1 + enterprise-update-test/pom.xml | 273 ++++++++++++ .../dircomp/CaseSensitivePathComparator.java | 28 ++ .../update/tool/dircomp/FileTreeCompare.java | 22 + .../tool/dircomp/FileTreeCompareImpl.java | 395 +++++++++++++++++ .../tool/dircomp/HtmlResultFormatter.java | 170 +++++++ .../alfresco/update/tool/dircomp/Result.java | 95 ++++ .../update/tool/dircomp/ResultFormatter.java | 28 ++ .../update/tool/dircomp/ResultSet.java | 44 ++ .../update/tool/dircomp/SortedPathSet.java | 28 ++ .../tool/dircomp/ZipResultFormatter.java | 73 +++ .../exception/FileTreeCompareException.java | 31 ++ .../test/java/EndToEndIntegrationTest.java | 303 +++++++++++++ .../tool/dircomp/FileTreeCompareImplTest.java | 415 ++++++++++++++++++ .../tool/dircomp/HtmlResultFormatterTest.java | 85 ++++ .../tool/dircomp/ZipResultFormatterTest.java | 82 ++++ .../allowed_differences/tree1/x/story.txt | 5 + .../allowed_differences/tree1/y/blah.txt | 2 + .../allowed_differences/tree2/x/story.txt | 5 + .../allowed_differences/tree2/y/blah.txt | 2 + .../tree1/b/alfresco-testdata-webapp.war | Bin 0 -> 3162 bytes .../file_folders_plus_war/tree1/b/blah.txt | 2 + .../tree1/c/c1/commands.bat | 2 + .../tree1/c/c1/commands.sh | 4 + .../tree1/c/c2/Aardvark.java | 7 + .../tree1/c/c2/Banana.java | 7 + .../file_folders_plus_war/tree2/a/story.txt | 5 + .../tree2/b/alfresco-testdata-webapp.war | Bin 0 -> 3726 bytes .../file_folders_plus_war/tree2/b/blah.txt | 2 + .../tree2/c/c1/commands.bat | 2 + .../tree2/c/c1/commands.sh | 4 + .../tree2/c/c2/Aardvark.java | 7 + .../simple_file_folders/tree1/b/blah.txt | 2 + .../tree1/c/c1/commands.bat | 2 + .../tree1/c/c1/commands.sh | 4 + .../tree1/c/c2/Aardvark.java | 7 + .../tree1/c/c2/Banana.java | 7 + .../simple_file_folders/tree2/a/story.txt | 5 + .../simple_file_folders/tree2/b/blah.txt | 2 + .../tree2/c/c1/commands.bat | 2 + .../tree2/c/c1/commands.sh | 4 + .../tree2/c/c2/Aardvark.java | 7 + enterprise-update/assemblies/update.xml | 39 -- enterprise-update/assemblies/updateTool.xml | 255 +++++++++-- enterprise-update/pom.xml | 337 ++++++++++++-- .../main/resources/script/5.0/update5-0.auas | 5 + .../main/resources/script/5.1/update5-1.auas | 4 + .../packaging/PackagingIntegrationTest.java | 55 ++- .../pkg/test/AbstractIntegrationTest.java | 47 ++ .../pkg/test/ZipFormatIntegrationTest.java | 74 ++++ pom.xml | 1 + 51 files changed, 2849 insertions(+), 139 deletions(-) create mode 100644 enterprise-update-test/mer.bat create mode 100644 enterprise-update-test/pom.xml create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java create mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java create mode 100644 enterprise-update-test/src/test/java/EndToEndIntegrationTest.java create mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java create mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java create mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Aardvark.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Banana.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/a/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/alfresco-testdata-webapp.war create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh create mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java delete mode 100644 enterprise-update/assemblies/update.xml create mode 100644 enterprise-update/src/main/resources/script/5.0/update5-0.auas create mode 100644 enterprise-update/src/main/resources/script/5.1/update5-1.auas create mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java create mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java diff --git a/enterprise-update-test/mer.bat b/enterprise-update-test/mer.bat new file mode 100644 index 0000000000..5626a8ec94 --- /dev/null +++ b/enterprise-update-test/mer.bat @@ -0,0 +1 @@ +mvn install -Dthis.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe -Dbase.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml new file mode 100644 index 0000000000..27671f7b01 --- /dev/null +++ b/enterprise-update-test/pom.xml @@ -0,0 +1,273 @@ + + 4.0.0 + alfresco-enterprise-update-test + End to end test of the installer and update + + org.alfresco + alfresco-full-installation + 5.2.1-SNAPSHOT + + + + + + + + + + ${project.build.directory}/test-data/base-alf-installation + ${project.build.directory}/test-data/this-alf-installation + + --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco + --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs + --alfrescocustomstack_services_startup demand + + + ${project.build.directory}/test-data/alfresco-one-update-package + + + + + + + junit + junit + 4.12 + test + + + + de.schlichtherle.truezip + truezip-driver-zip + 7.7.9 + + + de.schlichtherle.truezip + truezip-file + 7.7.9 + + + commons-io + commons-io + 2.4 + + + org.apache.logging.log4j + log4j-api + 2.3 + + + org.apache.logging.log4j + log4j-core + 2.3 + + + + org.springframework + spring-core + 4.2.4.RELEASE + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.5.1 + + 1.7 + 1.7 + + + + org.apache.maven.plugins + maven-dependency-plugin + + + + + unpack-update-package + generate-resources + + unpack + + + + + org.alfresco + alfresco-one-update-package + ${project.version} + true + ${unpacked.update.package} + zip + + + + + + + + + + maven-antrun-plugin + + + fetch-installer + pre-integration-test + + run + + + + + + + + + + + + + + Is base.installer.version provided ? + + + + + + + + + + + + + + + + + + + + + + Downloading Base Alfresco installer ${base.installer.version}... + + + + Installing the base Version of Alfresco... to ${base.alfresco.instance} + + + + + + + + + + + + + + + + + + + Installing newly generated version of Alfresco... + + + + + + + + + + + org.apache.ant + ant-jsch + 1.8.2 + + + ant-contrib + ant-contrib + 1.0b3 + + + ant + ant + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + default-test + test + + test + + + + **/*IntegrationTest.java + + true + alphabetical + + ${alfresco.update.package} + ${project.build.directory} + ${this.alfresco.instance} + ${base.alfresco.instance} + + + + + integration-test + integration-test + + test + + + false + ${project.build.directory} + true + alphabetical + + none + + + **/*IntegrationTest.java + + + ${project.artifactId}-${installer.version.name}.zip + ${project.build.directory} + + + + + + + + + + + + + diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java new file mode 100644 index 0000000000..56c03633ba --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.Comparator; + +/** + * Provides a platform agnostic and consistent sorting mechanism + * for {@link java.nio.file.Path} objects. + * + * @author Matt Ward + */ +public class CaseSensitivePathComparator implements Comparator +{ + @Override + public int compare(Path p1, Path p2) + { + String pathStr1 = p1.toString(); + String pathStr2 = p2.toString(); + return pathStr1.compareTo(pathStr2); + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java new file mode 100644 index 0000000000..4c164402df --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java @@ -0,0 +1,22 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.List; + + +/** + * File tree comparison tool interface. + * + * @author Matt Ward + */ +public interface FileTreeCompare +{ + ResultSet compare(Path p1, Path p2); +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java new file mode 100644 index 0000000000..99472447ea --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -0,0 +1,395 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import de.schlichtherle.truezip.file.TArchiveDetector; +import de.schlichtherle.truezip.file.TConfig; +import de.schlichtherle.truezip.file.TFile; +import de.schlichtherle.truezip.file.TVFS; +import de.schlichtherle.truezip.fs.archive.zip.ZipDriver; +import de.schlichtherle.truezip.socket.sl.IOPoolLocator; +import org.alfresco.update.tool.dircomp.exception.FileTreeCompareException; +import org.apache.commons.io.FileUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.util.AntPathMatcher; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Class capable of comparing two trees of files to determine which directories or + * files appear in one tree and not the other, or whether a file that appears in + * both has differences in its content. + * + * @author Matt Ward + */ +public class FileTreeCompareImpl implements FileTreeCompare +{ + private static final Logger log = LogManager.getLogger(FileTreeCompareImpl.class); + private final Set ignorePaths = new HashSet<>(); + private final Set allowedDiffsPaths = new HashSet<>(); + private final AntPathMatcher pathMatcher = new AntPathMatcher(File.separator); + + public FileTreeCompareImpl() + { + this(null, null); + } + + public FileTreeCompareImpl(Set ignorePaths, Set allowedDiffsPaths) + { + // This config MUST be present before any TFile objects etc. are created. + TConfig config = TConfig.get(); + config.setArchiveDetector(new TArchiveDetector("war|jar|amp", new ZipDriver(IOPoolLocator.SINGLETON))); + if (ignorePaths == null) + { + // Add default ignores + ignorePaths = new HashSet<>(); + ignorePaths.add(toPlatformPath("alf_data/postgresql/**")); + ignorePaths.add(toPlatformPath("alf_data/oouser/user/**")); + ignorePaths.add(toPlatformPath("alf_data/solr/*.war")); + ignorePaths.add(toPlatformPath("common/**")); + ignorePaths.add(toPlatformPath("META-INF/MANIFEST.MF")); + ignorePaths.add(toPlatformPath("META-INF/maven/**")); + ignorePaths.add(toPlatformPath("licenses/notice.txt")); + ignorePaths.add(toPlatformPath("uninstall.app/**")); + ignorePaths.add(toPlatformPath("uninstall/**")); + ignorePaths.add(toPlatformPath("uninstall.exe")); + ignorePaths.add(toPlatformPath("uninstall.dat")); + ignorePaths.add(toPlatformPath("libreoffice.app/**")); + ignorePaths.add(toPlatformPath("libreoffice/**")); + ignorePaths.add(toPlatformPath("java/**")); + ignorePaths.add(toPlatformPath("applied-updates/**")); + ignorePaths.add(toPlatformPath("~build/**")); + ignorePaths.add(toPlatformPath("properties.ini")); + ignorePaths.add(toPlatformPath("**/log.txt")); + ignorePaths.add(toPlatformPath("**/solrcore.properties")); + ignorePaths.add(toPlatformPath("**/modifications.install")); + ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); + + // Ignore for 5.1 MNT-14307 + ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); + + + } + if (allowedDiffsPaths == null) + { + // Add default paths where certain differences are allowed, e.g. absolute path references. + allowedDiffsPaths = new HashSet<>(); + allowedDiffsPaths.add(toPlatformPath("common/bin/**")); + allowedDiffsPaths.add(toPlatformPath("common/include/**/*.h")); + allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.pc")); + allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.la")); + allowedDiffsPaths.add(toPlatformPath("libreoffice.app/Contents/Resources/bootstraprc")); + allowedDiffsPaths.add(toPlatformPath("postgresql/bin/**")); + allowedDiffsPaths.add(toPlatformPath("**/*.sh")); + allowedDiffsPaths.add(toPlatformPath("**/*.bat")); + allowedDiffsPaths.add(toPlatformPath("**/*.ini")); + allowedDiffsPaths.add(toPlatformPath("**/*.properties")); + allowedDiffsPaths.add(toPlatformPath("**/*.xml")); + allowedDiffsPaths.add(toPlatformPath("**/*.sample")); + allowedDiffsPaths.add(toPlatformPath("**/*.txt")); + allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr4.xml")); + allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr.xml")); + } + this.ignorePaths.addAll(ignorePaths); + this.allowedDiffsPaths.addAll(allowedDiffsPaths); + } + + private String toPlatformPath(String path) + { + return path.replace("/", File.separator); + } + + @Override + public ResultSet compare(Path p1, Path p2) + { + ResultSet resultSet = new ResultSet(); + try + { + compare(resultSet.stats, resultSet.results, p1, p2); + } + catch (Exception e) + { + throw new FileTreeCompareException("Unable to compare file trees.", e); + } + return resultSet; + } + + private void compare(ResultSet.Stats stats, List results, Path tree1, Path tree2) throws IOException + { + SortedPathSet set1 = sortedPaths(tree1); + SortedPathSet set2 = sortedPaths(tree2); + + SortedPathSet all = new SortedPathSet(); + all.addAll(set1); + all.addAll(set2); + + for (Path pathToFind : all) + { + if (pathMatchesIgnorePattern(pathToFind)) + { + // Skip paths that we don't want to examine, e.g. tomcat/temp + log.debug("Skipping path: "+pathToFind); + stats.ignoredFileCount++; + continue; + } + + Result result = new Result(); + results.add(result); + stats.resultCount++; + + if (set1.contains(pathToFind) && set2.contains(pathToFind)) + { + log.debug("In both: "+pathToFind); + // Set the results, translating paths back to absolute as required. + result.p1 = tree1.resolve(pathToFind); + result.p2 = tree2.resolve(pathToFind); + boolean contentMatches = false; + if (Files.isRegularFile(result.p1) && Files.isRegularFile(result.p2)) + { + contentMatches = FileUtils.contentEquals(result.p1.toFile(), result.p2.toFile()); + if (!contentMatches) + { + if (pathMatchesAllowedDiffsPattern(pathToFind)) + { + File f1 = preprocessFile(tree1, result.p1.toFile()); + File f2 = preprocessFile(tree2, result.p2.toFile()); + contentMatches = FileUtils.contentEquals(f1, f2); + // Delete the files now that we no longer need them. The originals are still available. + f1.delete(); + f2.delete(); + if (contentMatches) + { + // If the preprocessed files match, then although the files didn't + // match when first compared byte-for-byte, they do match as far as we are concerned. + // But add to the stats that this is what has happened. + stats.suppressedDifferenceCount++; + } + } + else if (isSpecialArchive(pathToFind)) + { + Path archive1 = extract(result.p1); + Path archive2 = extract(result.p2); + result.subTree1 = archive1; + result.subTree2 = archive2; + final int diffBefore = stats.differenceCount; + compare(stats, result.subResults, archive1, archive2); + final int diffAfter = stats.differenceCount; + if (diffAfter == diffBefore) + { + // No significant differences were found in the (recursive) subtree comparison. + // We can therefore mark the special archive files matching in both trees. + contentMatches = true; + } + } + } + + } + else if (Files.isDirectory(result.p1) && Files.isDirectory(result.p2)) + { + // Two directories are counted as the same. + contentMatches = true; + } + result.equal = contentMatches; + } + else if (set1.contains(pathToFind)) + { + log.debug("In tree1 only: "+pathToFind); + result.p1 = tree1.resolve(pathToFind); + result.p2 = null; + } + else if (set2.contains(pathToFind)) + { + log.debug("In tree2 only: "+pathToFind); + result.p1 = null; + result.p2 = tree2.resolve(pathToFind); + } + else + { + throw new IllegalStateException( + "Something went wrong. The path is not found in either tree: "+pathToFind); + } + + if (!result.equal) + { + stats.differenceCount++; + } + } + } + + private File preprocessFile(Path tree, File orig) throws IOException + { + // Create a set of replacements that we intend to make. Replacing them with + // a known token allows us to remove differences (that we're not interested in) in the files. + Map replacements = new HashMap<>(); + replacements.put(tree.toRealPath().toString(), replacementToken("comparison_root")); + + // Create a pattern for module.installDate + Pattern installDatePattern = Pattern.compile("module.installDate=.*[\n\r\f]*$"); + Pattern commentPattern = Pattern.compile("^#.*"); + + File processed = Files.createTempFile(orig.getName(), ".tmp").toFile(); + try(Reader r = new FileReader(orig); + BufferedReader br = new BufferedReader(r); + Writer w = new FileWriter(processed); + PrintWriter pw = new PrintWriter(w)) + { + String line; + + while ((line = br.readLine()) != null) + { + for (String replKey : replacements.keySet()) + { + String replVal = replacements.get(replKey); + line = line.replace(replKey, replVal); + } + Matcher m = installDatePattern.matcher(line); + if(m.matches()) + { + // replace module.installDate + line = m.replaceFirst("module.installDate="); + } + Matcher cp = commentPattern.matcher(line); + if(cp.matches()) + { + // replace module.installDate + line = "# {comment suppressed}\n"; + } + + pw.println(line); + } + } + return processed; + } + + private String replacementToken(String label) + { + return String.format("@$@$@$@${{TREE_COMPARE_%s}}", label); + } + + private boolean isSpecialArchive(Path pathToFind) + { + return pathToFind.getFileName().toString().toLowerCase().endsWith(".war") || + pathToFind.getFileName().toString().toLowerCase().endsWith(".jar") || + pathToFind.getFileName().toString().toLowerCase().endsWith(".amp"); + } + + /** + * If the set of paths to allow certain differences ({@link #allowedDiffsPaths}) + * contains a pattern matching the specified path, then true is returned. + *

+ * Patterns are ant-style patterns. + * + * @param path The path to check + * @return True if there is a pattern in the allowedDiffsPaths set matching the path. + */ + private boolean pathMatchesAllowedDiffsPattern(String path) + { + return pathMatchesPattern(path, allowedDiffsPaths); + } + + /** + * @see #pathMatchesAllowedDiffsPattern(String) + */ + private boolean pathMatchesAllowedDiffsPattern(Path path) + { + return pathMatchesAllowedDiffsPattern(path.toString()); + } + + /** + * If the set of paths to ignore ({@link #ignorePaths}) contains + * a pattern matching the specified path, then true is returned. + *

+ * Patterns are ant-style patterns. + * + * @param path The path to check + * @return True if there is a path in the ignorePaths set that is a prefix of the path. + */ + private boolean pathMatchesIgnorePattern(String path) + { + return pathMatchesPattern(path, ignorePaths); + } + + /** + * @see #pathMatchesIgnorePattern(String) + */ + private boolean pathMatchesIgnorePattern(Path path) + { + return pathMatchesIgnorePattern(path.toString()); + } + + private boolean pathMatchesPattern(String path, Set patterns) + { + for (String pattern : patterns) + { + if (pathMatcher.match(pattern, path)) + { + return true; + } + } + return false; + } + + private Path extract(Path archivePath) throws IOException + { + String destDirName = archivePath.getFileName().toString(); + Path dest = Files.createTempDirectory(destDirName); + extract(archivePath, dest); + return dest; + } + + private void extract(Path archivePath, Path destPath) throws IOException + { + TFile archive = new TFile(archivePath.toFile()); + TFile dest = new TFile(destPath.toFile(), TArchiveDetector.NULL); + try + { + // Unzip the archive. + archive.cp_rp(dest); + } + finally + { + TVFS.umount(archive); + TVFS.umount(dest); + } + } + + /** + * Traverse path and create a {@link SortedPathSet} containing the set + * of paths encountered. The {@link Path} instances are relative to + * the base path provided as a parameter to this method. + * + * @param path The path to traverse. + * @return SortedPathSet + * @throws IOException + */ + protected SortedPathSet sortedPaths(Path path) throws IOException + { + SortedPathSet sortedPaths = new SortedPathSet(); + collectPaths(sortedPaths, path, path.toFile()); + return sortedPaths; + } + + private void collectPaths(SortedPathSet sortedSet, Path root, File path) throws IOException + { + for (File f : path.listFiles()) + { + Path relativePath = root.relativize(f.toPath()); + sortedSet.add(relativePath); + if (f.isDirectory()) + { + collectPaths(sortedSet, root, f); + } + } + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java new file mode 100644 index 0000000000..ec8fa8ebc1 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java @@ -0,0 +1,170 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.io.OutputStream; +import java.io.PrintWriter; +import java.util.List; + +/** + * Format results as HTML. + * + * @author Matt Ward + */ +public class HtmlResultFormatter implements ResultFormatter +{ + private int maxPathDisplayLength = 50; + private boolean differencesOnly; + + + @Override + public void format(ResultSet resultSet, OutputStream out) + { + boolean failed = resultSet.stats.differenceCount > 0; + + try(PrintWriter pw = new PrintWriter(out)) + { + pw.println(""); + pw.println(""); + pw.println(""); + pw.println("File tree comparison results"); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println("

"); + + String passOrFail; + String alertClass; + if (failed) + { + alertClass = "alert-danger"; + passOrFail = "FAILED"; + } + else + { + alertClass = "alert-success"; + passOrFail = "PASSED"; + } + + pw.println("
\n" + + "

Fresh installation vs updated installation Diff tool results

\n" + + "
"); + pw.println("
"); + pw.println("

Status: "+passOrFail+"

"); + pw.println("

Files examined: "+resultSet.stats.resultCount+"

"); + pw.println("

Files with differences: "+resultSet.stats.differenceCount+"

"); + pw.println("

Files with allowed differences: "+resultSet.stats.suppressedDifferenceCount+"

"); + pw.println("

Ignored files: "+resultSet.stats.ignoredFileCount+"

"); + pw.println("
"); + outputResultsTable(resultSet.results, pw, 0); + + pw.println("
"); + pw.println(""); + pw.println(""); + } + } + + private void outputResultsTable(List results, PrintWriter pw, int row) + { + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + pw.println(""); + + for (Result r : results) + { + ++row; + + outputResult(pw, row, r); + + if (!r.subResults.isEmpty()) + { + // Only show the subresults if there are + if (!differencesOnly || !r.equal) + { + pw.println(""); + } + } + } + + pw.println(""); + pw.println("
#Updated installFresh install
 "); + outputResultsTable(r.subResults, pw, row); + pw.println("
"); + } + + private void outputResult(PrintWriter pw, int row, Result r) + { + if (differencesOnly && r.equal) + { + return; + } + pw.println(""); + + pw.println(""+row+""); + + String p1 = (r.p1 == null) ? "" : r.p1.toString(); + String p1Abbr = abbreviate(p1, maxPathDisplayLength); + String p2 = (r.p2 == null) ? "" : r.p2.toString(); + String p2Abbr = abbreviate(p2, maxPathDisplayLength); + + // TODO: URL/HTML-encode as appropriate + String diffClass; + if (r.equal) + { + if (r.subResults.isEmpty()) + { + // Result refers to a normal file or directory. + diffClass = "info"; + } + else + { + // File is a special archive, but no differences in the sub-results are considered important. + diffClass = "warning"; + } + } + else + { + // The file/directory appears different in each tree. If it is a special archive, then there + // are differences that we care about. + diffClass = "danger"; + } + + pw.println( + String.format("%s%s", + diffClass, + p1, + p1Abbr, + diffClass, + p2, + p2Abbr)); + + pw.println(""); + } + + private String abbreviate(String str, int maxLength) + { + return (str.length() > maxLength) ? "..."+str.substring(str.length()-maxLength) : str; + } + + public void setMaxPathDisplayLength(int maxPathDisplayLength) + { + this.maxPathDisplayLength = maxPathDisplayLength; + } + + public void setDifferencesOnly(boolean differencesOnly) + { + this.differencesOnly = differencesOnly; + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java new file mode 100644 index 0000000000..355cebb239 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java @@ -0,0 +1,95 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; + +/** + * Simple struct-style result data class. + * + * @author Matt Ward + */ +public final class Result +{ + /** + * The path within tree1 being compared (intended to be the updated Alfresco installation). + *

+ * This field will be null if the file in question appears only in the tree2. + */ + Path p1; + /** + * The path within tree2 being compared (intended to be the freshly installed equivalent of {@link #p1}). + *

+ * This field will be null if the file in question appears only in the tree1. + */ + Path p2; + /** + * Are the paths in {@link #p1} and {@link #p2} of identical content? If they refer to a directory, then + * equal in this sense is to have the same directory name. If they refer to a plain file, then equal means + * that they contain the exact same contents. + */ + boolean equal; + /** + * The root path of sub-tree1 to which {@link #subResults} refers. + * @see #subResults + */ + Path subTree1; + /** + * The root path of sub-tree2 to which {@link #subResults} refers. + * @see #subResults + */ + Path subTree2; + /** + * If p1 and p2 refer to a special archive with differences, e.g. they refer to alfresco.war, + * then a deep comparison of the archives will be performed and the results stored here. + *

+ * The paths to the expanded archives will be stored in {@link #subTree1} and {@link #subTree2} + * and all the paths in {@link #subResults} will be within those new roots. + */ + List subResults = new ArrayList<>(); + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = prime * result + (this.equal ? 1231 : 1237); + result = prime * result + ((this.p1 == null) ? 0 : this.p1.hashCode()); + result = prime * result + ((this.p2 == null) ? 0 : this.p2.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) + { + if (this == obj) return true; + if (obj == null) return false; + if (getClass() != obj.getClass()) return false; + Result other = (Result) obj; + if (this.equal != other.equal) return false; + if (this.p1 == null) + { + if (other.p1 != null) return false; + } + else if (!this.p1.equals(other.p1)) return false; + if (this.p2 == null) + { + if (other.p2 != null) return false; + } + else if (!this.p2.equals(other.p2)) return false; + return true; + } + + @Override + public String toString() + { + return String.format("Result[p1=%s, p2=%s, equal=%b]", p1, p2, equal); + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java new file mode 100644 index 0000000000..6eddc194a1 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.io.OutputStream; +import java.util.Collection; + +/** + * Format a set of {@link Result} objects. + * + * @author Matt Ward + */ +public interface ResultFormatter +{ + /** + * Format the result set to the supplied {@link OutputStream}. The caller + * must take care of creating and destroying the OutputStream correctly. + * + * @param results The results to format. + * @param out The stream to format the results to. + */ + void format(ResultSet results, OutputStream out); +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java new file mode 100644 index 0000000000..a96a426569 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java @@ -0,0 +1,44 @@ +package org.alfresco.update.tool.dircomp; + +import java.util.ArrayList; +import java.util.List; + +/* + * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +public class ResultSet +{ + final List results = new ArrayList<>(); + public final Stats stats = new Stats(); + + /** + * Class for aggregating basic statistics relating to the directory tree comparisons. + *

+ * For all counts, unless specified otherwise, if a file appears in both trees, it is + * counted only once, as it is relative files we are tracking regardless of which + * tree(s) they exist in. + */ + public static class Stats + { + /** + * The number of files (including directories) examined. + */ + public int resultCount; + /** + * The number of files discovered to have differences that are not allowed or ignored. + */ + public int differenceCount; + /** + * The number of files discovered to have differences, but the difference is allowed. + */ + public int suppressedDifferenceCount; + /** + * The number of files that were completely ignored due to being in the ignore list. + */ + public int ignoredFileCount; + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java new file mode 100644 index 0000000000..52c7087cb6 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.nio.file.Path; +import java.util.TreeSet; + +/** + * Sorted set of {@link Path} objects that provides consistent + * cross-platform sort order. + * + * @see java.util.TreeSet + * @author Matt Ward + */ +public class SortedPathSet extends TreeSet +{ + private static final long serialVersionUID = 1L; + + public SortedPathSet() + { + super(new CaseSensitivePathComparator()); + } +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java new file mode 100644 index 0000000000..0ec0aac001 --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java @@ -0,0 +1,73 @@ +package org.alfresco.update.tool.dircomp; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Path; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +/** + * Format the org.alfresco.update.tool.dircomp.ResultSet as a set of files inside a zip file. + * + * Files that are equal are not added to the zip file. + * + * @author mrogers + */ +public class ZipResultFormatter implements ResultFormatter +{ + @Override + public void format(ResultSet resultSet, OutputStream out) + { + ZipOutputStream zos = (ZipOutputStream)out; + + for(Result result : resultSet.results) + { + if(!result.equal) + { + try + { + putFile(result.p1, zos); + putFile(result.p2, zos); + } + catch (IOException ie) + { + // Do nothing + } + } + } + } + + private void putFile(Path path, ZipOutputStream zos) throws IOException + { + + if(path != null) + { + byte[] buffer = new byte[1024]; + File file = path.toFile(); + if(file.isFile()) + { + ZipEntry zipEntry = new ZipEntry(getEntryName(path)); + zipEntry.setTime(file.lastModified()); + try (FileInputStream ins = new FileInputStream(file)) + { + zos.putNextEntry(zipEntry); + int len; + while ((len = ins.read(buffer)) > 0) + { + zos.write(buffer, 0, len); + } + zos.closeEntry(); + } + } + } + } + + private String getEntryName(Path path) + { + // eg differences/xml-data/foo/bar + return "differences" + path.normalize().toString().replace('\\', '/').trim(); + } + +} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java new file mode 100644 index 0000000000..ebf1e4545f --- /dev/null +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java @@ -0,0 +1,31 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp.exception; + +import org.alfresco.update.tool.dircomp.FileTreeCompare; + +/** + * Exception class representing failures during file tree comparison. + * + * @see FileTreeCompare + * @author Matt Ward + */ +public class FileTreeCompareException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public FileTreeCompareException(String message) + { + super(message); + } + + public FileTreeCompareException(String message, Throwable cause) + { + super(message, cause); + } +} diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java new file mode 100644 index 0000000000..53fec9617c --- /dev/null +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -0,0 +1,303 @@ +/* + * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ + +import org.alfresco.update.tool.dircomp.FileTreeCompare; +import org.alfresco.update.tool.dircomp.FileTreeCompareImpl; +import org.alfresco.update.tool.dircomp.HtmlResultFormatter; +import org.alfresco.update.tool.dircomp.Result; +import org.alfresco.update.tool.dircomp.ResultSet; +import org.alfresco.update.tool.dircomp.ZipResultFormatter; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; +import java.util.zip.ZipOutputStream; + +import static org.junit.Assert.assertTrue; + +public class EndToEndIntegrationTest +{ + private final static String JAR_FILE_NAME = "alfresco-update-tool.jar"; + + File targetDir; + + private String getBasePath() + { + String basePath = System.getProperty("base.alfresco.instance"); + if (basePath == null) + { + basePath = "./test-data/base-alf-installation"; + } + File base = new File(targetDir, basePath); + assertTrue("base instance does not exist :" + base, base.exists()); + + return base.getAbsolutePath(); + } + + private String getThisPath() + { + String basePath = System.getProperty("this.alfresco.instance"); + if (basePath == null) + { + basePath = "./test-data/this-alf-installation"; + } + File base = new File(targetDir, basePath); + assertTrue("this instance (the one to update) does not exist :" + base, base.exists()); + + return base.getAbsolutePath(); + } + + private String getUpdatePath() + { + String basePath = System.getProperty("unpacked.update.package"); + if (basePath == null) + { + basePath = "./test-data/alfresco-one-update-package"; + } + File base = new File(targetDir, basePath); + assertTrue(base.isDirectory()); + assertTrue("the update package does not exist :" + base, base.exists()); + String[] dirs = base.list(); + assertTrue(dirs.length == 1); + + return new File(base, dirs[0]).getAbsolutePath(); + } + + private void initTargetDir() + { + String targetDir = System.getProperty("alfresco.target.dir"); + if (targetDir == null) + { + targetDir = "./target"; // test needs to be run in target dir. + } + this.targetDir = new File(targetDir); + assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); + } + + @Before + public void setUp() throws Exception + { + initTargetDir(); + } + + + @Test + public void testEndToEndUpdate() throws Exception + { + File updateThisOne = new File(getBasePath()); + + File referenceInstance = new File(getThisPath()); + + File updatePackage = new File(getUpdatePath()); + + // Run the update + runUpdateTool(updateThisOne, updatePackage); + + // Run the diff tool + compare(referenceInstance, updateThisOne); + + } + + /** + * Run the update tool + */ + public void runUpdateTool(File instanceToUpdate, File updatePackage) throws Exception + { + // expect to find jar at "lib/alfresco-update-tool.jar" + File jar = new File(updatePackage, "lib/" + JAR_FILE_NAME); + assertTrue("lib/" + JAR_FILE_NAME, jar.exists()); + + // expect to find update resources + + String options = " --assumeyes -u " + updatePackage; + String cmd = "java -jar " + jar.getAbsolutePath() + options + " " + instanceToUpdate.getPath(); + + boolean found = runCommand( + targetDir, + cmd, + null, + 0, + "The update was successful" + ); + + assertTrue("The update was successful", found); + + } + + /** + * Run the diff tool + * + * @param freshInstallation + * @param updatedInstallation + */ + public void compare(File freshInstallation, File updatedInstallation) throws IOException + { + FileTreeCompare comparator = new FileTreeCompareImpl(); + ResultSet resultSet = comparator.compare(updatedInstallation.toPath(), freshInstallation.toPath()); + + File dircompDir = new File(targetDir, "installation-diff"); + dircompDir.mkdirs(); + + // Format the results as an HTML report. + File file = new File(dircompDir, "installation-diff-report.html"); + file.createNewFile(); + + HtmlResultFormatter formatter = new HtmlResultFormatter(); + formatter.setDifferencesOnly(true); + try(FileOutputStream fos = new FileOutputStream(file); + BufferedOutputStream bos = new BufferedOutputStream(fos)) + { + formatter.format(resultSet, bos); + } + + File zipFile = new File(dircompDir, "installation-diff-report.zip"); + zipFile.createNewFile(); + + ZipResultFormatter zformatter = new ZipResultFormatter(); + + try (FileOutputStream fos = new FileOutputStream(zipFile); + ZipOutputStream zos = new ZipOutputStream(fos)) + { + zformatter.format(resultSet, zos); + } + + + assertTrue("update test has found unexpected differences, see the installation-diff-report for further details", resultSet.stats.differenceCount == 0); + + } + + /** + * Utility/harness to allow easy testing of {@link #compare(File, File)}. + *

+ * Uncomment @Ignore, but do not check in. + * + * @throws IOException + */ + @Ignore + @Test + public void bigDiff() throws IOException + { + Path path1 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b667"); + Path path2 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b669"); + + compare(path1.toFile(), path2.toFile()); + } + + /* + * Method to execute a command + * + * This variant of runCommand takes multiple expected messages. + * If a message is repeated twice in expectedMessage then the message must appear in + * the command line output at least twice to return true. + * + * @param targetLocation location for executing the command + * @param cmd the command to be executed + * @param input - input for command line prompts, may be null if not required + * @param expectedMessage... messages to be verified + * @param expectedReturnCode 0 for success + * @return true the messages are all found + * @throws IOException + */ + public boolean runCommand(File targetLocation, String cmd, String[] input, int expectedReturnCode, String... expectedMessage) throws IOException, InterruptedException + { + Runtime rt = Runtime.getRuntime(); + String line = null; + Process pr = rt.exec(cmd, null, targetLocation); + if(input != null && input.length > 0) + { + Input inputThread = new Input(pr.getOutputStream(), input); + inputThread.start(); + } + + ArrayList toFind = new ArrayList(); + for(int i = 0; i < expectedMessage.length; i++) + { + toFind.add(expectedMessage[i]); + } + + int found; + try (BufferedReader out = new BufferedReader(new InputStreamReader(pr.getInputStream()))) + { + while ((line = out.readLine()) != null) + { + found = -1; + for(int i = 0; i < toFind.size() ; i++) + { + if (line.contains(toFind.get(i))) + { + found = i; + } + } + System.out.println(line); + + if(found >= 0) + { + toFind.remove(found); + } + } + } + + int retCode = pr.waitFor(); + + if(retCode != expectedReturnCode) + { + System.out.println("Not expected return code expected:" + expectedReturnCode + " actual: " + retCode); + return false; + } + + if(toFind.size() == 0) + { + return true; + } + + System.out.println("Did not find expected message: " + toFind); + + return false; + } + + /** + * + */ + protected class Input extends Thread + { + OutputStream is; + String[] input; + + Input(OutputStream is, String[] input) + { + this.is = is; + this.input = input; + } + + public void run() + { + try (BufferedWriter in = new BufferedWriter(new OutputStreamWriter(is));) + { + for (String line : input) + { + in.write(line); + in.newLine(); + System.out.println("wrote : " + line); + } + } + catch (IOException e) + { + + } + } + } + + +} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java new file mode 100644 index 0000000000..938ef2722a --- /dev/null +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java @@ -0,0 +1,415 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.apache.commons.io.FileUtils; +import org.junit.Before; +import org.junit.Test; +import org.springframework.util.AntPathMatcher; + +/** + * Tests for the {@link FileTreeCompareImpl} class. + * + * @author Matt Ward + */ +public class FileTreeCompareImplTest +{ + FileTreeCompareImpl comparator; + + @Before + public void setUp() throws Exception + { + comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); + } + + @Test + public void canGetSortedPathSet() throws IOException + { + Path tree = pathFromClasspath("dir_compare/simple_file_folders/tree1"); + SortedPathSet paths = comparator.sortedPaths(tree); + Iterator it = paths.iterator(); + + System.out.println("Paths:"); + for (Path p : paths) + { + System.out.println("\t"+p); + } + + assertEquals(11, paths.size()); + + assertEquals("a", unixPathStr(tree, it.next())); + assertEquals("b", unixPathStr(tree, it.next())); + assertEquals("b/blah.txt", unixPathStr(tree, it.next())); + assertEquals("c", unixPathStr(tree, it.next())); + assertEquals("c/c1", unixPathStr(tree, it.next())); + assertEquals("c/c1/commands.bat", unixPathStr(tree, it.next())); + assertEquals("c/c1/commands.sh", unixPathStr(tree, it.next())); + assertEquals("c/c2", unixPathStr(tree, it.next())); + assertEquals("c/c2/Aardvark.java", unixPathStr(tree, it.next())); + assertEquals("c/c2/Banana.java", unixPathStr(tree, it.next())); + assertEquals("d", unixPathStr(tree, it.next())); + } + + private String unixPathStr(Path root, Path path) + { + // Allow test to run on Windows also + String pathStr = path.toString(); + pathStr = pathStr.replace(File.separatorChar, '/'); + return pathStr; + } + + @Test + public void canDiffSimpleTreesOfFilesAndFolders() + { + Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); + Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); + + ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + + // One result for each relative file/folder + assertEquals(13, resultSet.results.size()); + assertEquals(13, resultSet.stats.resultCount); + + Iterator rit = resultSet.results.iterator(); + // TODO: currently all of the files are in one, other or both but where they + // are in both, the file *contents* are identical. + // TODO: evolve test data and functionality to cope with different file contents. + assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); + assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); + assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); + assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); + assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); + // Aardvark.java appears in both trees but is not the same! + assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); + assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); + assertResultEquals(tree1.resolve("d"), null, false, rit.next()); + assertResultEquals(null, tree2.resolve("e"), false, rit.next()); + } + + /** + * A "learning test" allowing me to check my assumptions and document the expected behaviour. + */ + @Test + public void testAntPathMatcher() + { + AntPathMatcher matcher = new AntPathMatcher(); + assertTrue(matcher.match("**/common/lib/**/*.pc", "prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); + assertFalse(matcher.match("**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); + assertTrue(matcher.match("/**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); + assertTrue(matcher.match("common/lib/**/*.pc", "common/lib/pkgconfig/Wand.pc")); + assertTrue(matcher.match("**/*.pc", "common/lib/pkgconfig/Wand.pc")); + assertFalse(matcher.match("*.pc", "common/lib/pkgconfig/Wand.pc")); + + assertTrue(matcher.match("libreoffice.app/Contents/Resources/bootstraprc", "libreoffice.app/Contents/Resources/bootstraprc")); + assertTrue(matcher.match("*.sh", "alfresco.sh")); + assertFalse(matcher.match("*.sh", "a/different/alfresco.sh")); + + // Windows matcher + // It seems that changing the path separator on an instance that's already been + // used isn't a good idea due to pattern caching. + matcher = new AntPathMatcher("\\"); + assertTrue(matcher.match("**\\common\\lib\\**\\*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); + assertTrue(matcher.match("\\**\\common\\lib\\**\\*.pc", "\\absolute\\prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); + + assertTrue(matcher.match("b\\blah.txt", "b\\blah.txt")); + } + + @Test + public void canIgnoreSpecifiedPaths() + { + Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); + Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); + + Set ignorePaths = new HashSet<>(); + ignorePaths.add(toPlatformPath("b/blah.txt")); + ignorePaths.add(toPlatformPath("c/c2/**")); + ignorePaths.add(toPlatformPath("d/**")); + ignorePaths.add(toPlatformPath("e/**")); + comparator = new FileTreeCompareImpl(ignorePaths, new HashSet()); + + // Perform the comparison + ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + + Iterator rit = resultSet.results.iterator(); + assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); + assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); + assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); + // No b/blah.txt here. + assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); + // No c/c2, c/c2/Aardvark.java, c/c2/Banana.java, d or e here. + + List results = resultSet.results; + assertResultNotPresent(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, results); + assertResultNotPresent(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, results); + assertResultNotPresent(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, results); + assertResultNotPresent(tree1.resolve("c/c2/Banana.java"), null, false, results); + assertResultNotPresent(tree1.resolve("d"), null, false, results); + assertResultNotPresent(null, tree2.resolve("e"), false, results); + assertEquals(7, results.size()); + + // TODO: What about paths within war/jar/zip files? + // ...at the moment, if we specify a path of "mydir/README.txt" to be ignored, + // this will be ignored in the main tree, e.g. /mydir/README.txt but also + // within sub-trees if there is a match, e.g. /mydir/README.txt + } + + @Test + public void canSpecifyFilesThatShouldHaveCertainDifferencesAllowed() throws IOException + { + Path tree1 = pathFromClasspath("dir_compare/allowed_differences/tree1"); + Path tree2 = pathFromClasspath("dir_compare/allowed_differences/tree2"); + + // Check that two identical trees are... identical! + ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + assertEquals(0, resultSet.stats.differenceCount); + assertEquals(0, resultSet.stats.ignoredFileCount); + assertEquals(4, resultSet.stats.resultCount); + assertEquals(4, resultSet.results.size()); + + // Now add files that are different only in there use of tree1 and tree2's absolute paths. + File t1File = new File(tree1.toFile(), "different.txt"); + t1File.deleteOnExit(); + FileUtils.write(t1File, sampleText(tree1.toAbsolutePath().toString())); + + File t2File = new File(tree2.toFile(), "different.txt"); + t2File.deleteOnExit(); + FileUtils.write(t2File, sampleText(tree2.toAbsolutePath().toString())); + + // Now add a module.properties that are different in their "installDate" property only. + File t3File = new File(tree1.toFile(), "module.properties"); + t3File.deleteOnExit(); + Date date = new Date(); + FileUtils.write(t3File, sampleModuleProperties("2016-02-29T16\\:26\\:18.053Z")); + + File t4File = new File(tree2.toFile(), "module.properties"); + t4File.deleteOnExit(); + FileUtils.write(t4File, sampleModuleProperties("2016-02-28T14\\:30\\:14.035Z")); + + + // Perform the comparison + comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); + resultSet = comparator.compare(tree1, tree2); + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + + // We should see a difference + assertEquals(0, resultSet.stats.suppressedDifferenceCount); + assertEquals(2, resultSet.stats.differenceCount); + assertEquals(0, resultSet.stats.ignoredFileCount); + assertEquals(6, resultSet.stats.resultCount); + assertEquals(6, resultSet.results.size()); + + Iterator rit = resultSet.results.iterator(); + assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), false, rit.next()); + + // Perform the comparison again, but after allowing the files to be different. + Set allowedDiffsPaths = new HashSet<>(); + allowedDiffsPaths.add(toPlatformPath("**/*.txt")); + allowedDiffsPaths.add(toPlatformPath("**/module.properties")); + + // Perform the comparison, this time with some allowed differences + comparator = new FileTreeCompareImpl(new HashSet(), allowedDiffsPaths); + resultSet = comparator.compare(tree1, tree2); + + // We should see a difference - but it is in the 'suppressed' list. + assertEquals(2, resultSet.stats.suppressedDifferenceCount); + assertEquals(0, resultSet.stats.differenceCount); + assertEquals(0, resultSet.stats.ignoredFileCount); + assertEquals(6, resultSet.stats.resultCount); + assertEquals(6, resultSet.results.size()); + + rit = resultSet.results.iterator(); + assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), true, rit.next()); + } + + private String sampleText(String absPath) + { + StringBuilder sb = new StringBuilder(); + sb.append("This is some example text\n"); + sb.append("...in tree: "+absPath); + sb.append(" ...and here is some more text.\n"); + sb.append("...but wait! here's an absolute path again:"+absPath+", yes."); + sb.append("The End."); + return sb.toString(); + } + + private String sampleModuleProperties(String installDateAsString) + { + StringBuilder sb = new StringBuilder(); + sb.append("# " + installDateAsString + "\n"); + sb.append("module.id=org.alfresco.integrations.share.google.docs\n"); + sb.append("module.version=3.0.3\n"); + sb.append("module.buildnumber=4ent\n"); + sb.append("module.title=Alfresco / Google Docs Share Module\n"); + sb.append("module.description=The Share side artifacts of the Alfresco / Google Docs Integration.\n"); + sb.append("module.repo.version.min=5.0.0\n"); + sb.append("module.repo.version.max=5.99.99\n"); + sb.append("module.installState=INSTALLED\n"); + // this is the problem we are trying to solve + sb.append("module.installDate=" + installDateAsString + "\n"); + + return sb.toString(); + } + + @Test + public void canDiffTreesContainingWarFiles() + { + Path tree1 = pathFromClasspath("dir_compare/file_folders_plus_war/tree1"); + Path tree2 = pathFromClasspath("dir_compare/file_folders_plus_war/tree2"); + + ResultSet resultSet = comparator.compare(tree1, tree2); + + System.out.println("Comparison results:"); + for (Result r : resultSet.results) + { + System.out.println("\t"+r); + } + + // The 14 top-level results + 17 sub-results. + assertEquals(31, resultSet.stats.resultCount); + + // One result for each relative file/folder + assertEquals(14, resultSet.results.size()); + + + Iterator rit = resultSet.results.iterator(); + // TODO: currently all of the files are in one, other or both but where they + // are in both, the file *contents* are identical. + // TODO: evolve test data and functionality to cope with different file contents. + assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); + assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); + assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); + + // Examine the results of the war file comparison + Result result = rit.next(); + // The WAR files are different. + assertResultEquals( + tree1.resolve("b/alfresco-testdata-webapp.war"), + tree2.resolve("b/alfresco-testdata-webapp.war"), + false, + result); + List subResults = result.subResults; + System.out.println("subResults:"); + for (Result r : subResults) + { + System.out.println("\t"+r); + } + Iterator subIt = subResults.iterator(); + Path subTree1 = result.subTree1; + Path subTree2 = result.subTree2; + assertEquals(17, subResults.size()); + assertResultEquals(subTree1.resolve("META-INF"), subTree2.resolve("META-INF"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/MANIFEST.MF"), subTree2.resolve("META-INF/MANIFEST.MF"), false, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven"), subTree2.resolve("META-INF/maven"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy"), subTree2.resolve("META-INF/maven/org.alfresco.dummy"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), true, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), false, subIt.next()); + assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF"), subTree2.resolve("WEB-INF"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes"), subTree2.resolve("WEB-INF/classes"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org"), subTree2.resolve("WEB-INF/classes/org"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco"), subTree2.resolve("WEB-INF/classes/org/alfresco"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), true, subIt.next()); + assertResultEquals(null, subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/Another.class"), false, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), true, subIt.next()); + assertResultEquals(subTree1.resolve("WEB-INF/web.xml"), subTree2.resolve("WEB-INF/web.xml"), true, subIt.next()); + assertResultEquals(subTree1.resolve("index.jsp"), subTree2.resolve("index.jsp"), false, subIt.next()); + + // Back up to the top-level comparisons + assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); + assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); + assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); + // Aardvark.java appears in both trees but is not the same! + assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); + assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); + assertResultEquals(tree1.resolve("d"), null, false, rit.next()); + assertResultEquals(null, tree2.resolve("e"), false, rit.next()); + } + + private void assertResultNotPresent(Path p1, Path p2, boolean contentEqual, List results) + { + Result r = new Result(); + r.p1 = p1; + r.p2 = p2; + r.equal = contentEqual; + assertFalse("Result should not be present: "+r, results.contains(r)); + } + + private void assertResultEquals(Path p1, Path p2, boolean contentEqual, Result result) + { + Result expected = new Result(); + expected.p1 = p1; + expected.p2 = p2; + expected.equal = contentEqual; + assertEquals(expected, result); + } + + private Path pathFromClasspath(String path) + { + try + { + return Paths.get(getClass().getClassLoader().getResource(path).toURI()); + } + catch (URISyntaxException error) + { + throw new RuntimeException(""); + } + } + + private String toPlatformPath(String path) + { + return path.replace("/", File.separator); + } +} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java new file mode 100644 index 0000000000..bd387646db --- /dev/null +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java @@ -0,0 +1,85 @@ +/* + * Copyright 2016 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.tool.dircomp; + +import java.io.BufferedOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.apache.commons.io.FileUtils; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.springframework.util.AntPathMatcher; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * Tests for the {@link HtmlResultFormatter} class. + *

+ * TODO: currently these aren't tests so much as useful utilities to help with manual testing. + * + * @author Matt Ward + */ +public class HtmlResultFormatterTest +{ + @Before + public void setUp() throws Exception + { + } + + @Test + public void canFormatToHTML() throws IOException + { + ResultSet resultSet = new ResultSet(); + List results = resultSet.results; + addResult(results, "/t1/a", "/t2/a", true); + addResult(results, "/t1/a/b", "/t2/a/b", true); + addResult(results, "/t1/a/c", "/t2/a/c", true); + addResult(results, "/t1/a/b/c/something.txt", "/t2/a/b/c/something.txt", true); + addResult(results, "/t1/a/b/c/another.txt", "/t2/a/b/c/another.txt", false); + addResult(results, null, "/t2/a/b/c/blah.txt", false); + addResult(results, "/t1/dir-only-in-p1", null, false); + addResult(results, null, "/t2/dir-only-in-p2", false); + + resultSet.stats.suppressedDifferenceCount = 2; + resultSet.stats.differenceCount = 4; + resultSet.stats.ignoredFileCount = 0; + resultSet.stats.resultCount = results.size(); + + try(ByteArrayOutputStream os = new ByteArrayOutputStream()) + { + HtmlResultFormatter formatter = new HtmlResultFormatter(); + formatter.format(resultSet, os); + System.out.println(os.toString()); + + // Uncomment to write to file +// Path file = Files.createTempFile(getClass().getSimpleName(), ".html"); +// FileUtils.write(file.toFile(), os.toString()); +// System.out.println("File: "+file); + } + } + + private void addResult(List results, String p1, String p2, boolean contentMatch) + { + Result r = new Result(); + r.p1 = p1 != null ? Paths.get(p1) : null; + r.p2 = p2 != null ? Paths.get(p2) : null; + r.equal = contentMatch; + results.add(r); + } +} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java new file mode 100644 index 0000000000..bca1660d28 --- /dev/null +++ b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java @@ -0,0 +1,82 @@ +package org.alfresco.update.tool.dircomp; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.zip.ZipOutputStream; + +import org.junit.Before; +import org.junit.Test; + +/** + * Tests for the {@link ZipResultFormatter} class. + *

+ * + * @author Mark Rogers + */ +public class ZipResultFormatterTest +{ + @Before + public void setUp() throws Exception + { + } + + @Test + public void canFormatToZip() throws IOException + { + ResultSet resultSet = new ResultSet(); + List results = resultSet.results; + + URL srcDir = getClass().getClassLoader().getResource("dir_compare/allowed_differences/tree1"); + assertNotNull(srcDir.getPath()); + + File f = new File(srcDir.getPath()); + + File[] files = f.listFiles(); + for(File file : files) + { + addResult(results, file.getAbsolutePath(), null, false); + } + + resultSet.stats.suppressedDifferenceCount = 2; + resultSet.stats.differenceCount = 4; + resultSet.stats.ignoredFileCount = 0; + resultSet.stats.resultCount = results.size(); + + ZipResultFormatter zof = new ZipResultFormatter(); + + Path file = Files.createTempFile(getClass().getSimpleName(), ".zip"); + + File zipFile = file.toFile(); + zipFile.createNewFile(); + zipFile.deleteOnExit(); + + ZipResultFormatter zformatter = new ZipResultFormatter(); + + try (FileOutputStream fos = new FileOutputStream(zipFile); + ZipOutputStream zos = new ZipOutputStream(fos)) + { + zof.format(resultSet, zos); + } + + assertTrue(zipFile.length() > 0); + + } + + private void addResult(List results, String p1, String p2, boolean contentMatch) + { + Result r = new Result(); + r.p1 = p1 != null ? Paths.get(p1) : null; + r.p2 = p2 != null ? Paths.get(p2) : null; + r.equal = contentMatch; + results.add(r); + } + +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt new file mode 100644 index 0000000000..69c3b8a81a --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt @@ -0,0 +1,5 @@ +Once upon +A time +Lived +A +Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt new file mode 100644 index 0000000000..69c3b8a81a --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt @@ -0,0 +1,5 @@ +Once upon +A time +Lived +A +Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war new file mode 100644 index 0000000000000000000000000000000000000000..8f1c6ac5f2deabd1b77d898a424608942540e5d7 GIT binary patch literal 3162 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 TkUInd2R;r!*~Nf%hd}-V9Nxz3 literal 0 HcmV?d00001 diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat new file mode 100644 index 0000000000..fb7b3bb193 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat @@ -0,0 +1,2 @@ +echo Hello +echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh new file mode 100644 index 0000000000..35d5edb327 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo hello +echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java new file mode 100644 index 0000000000..bf3d78b9f5 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Hello Aardvark!"); + } +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat new file mode 100644 index 0000000000..fb7b3bb193 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat @@ -0,0 +1,2 @@ +echo Hello +echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh new file mode 100644 index 0000000000..35d5edb327 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo hello +echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java new file mode 100644 index 0000000000..5733268500 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Aardvark!"); + } +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java new file mode 100644 index 0000000000..a9d5570d63 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Banana!"); + } +} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt new file mode 100644 index 0000000000..69c3b8a81a --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt @@ -0,0 +1,5 @@ +Once upon +A time +Lived +A +Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt new file mode 100644 index 0000000000..e508b95435 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt @@ -0,0 +1,2 @@ +Sample content +More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat new file mode 100644 index 0000000000..fb7b3bb193 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat @@ -0,0 +1,2 @@ +echo Hello +echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh new file mode 100644 index 0000000000..35d5edb327 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo hello +echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java new file mode 100644 index 0000000000..bf3d78b9f5 --- /dev/null +++ b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java @@ -0,0 +1,7 @@ +public class Aardvark +{ + public static void main(String[] args) + { + System.out.println("Hello Aardvark!"); + } +} diff --git a/enterprise-update/assemblies/update.xml b/enterprise-update/assemblies/update.xml deleted file mode 100644 index 74674a26a3..0000000000 --- a/enterprise-update/assemblies/update.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - update - - zip - - - false - - - - - false - true - assets/web-server/webapps - alfresco.war - - org.alfresco:alfresco-platform-enterprise:war - - - - - - false - true - assets/web-server/webapps - share.war - - org.alfresco:share:war - - - - - - diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml index 22fcb17693..bdbefa8ebe 100644 --- a/enterprise-update/assemblies/updateTool.xml +++ b/enterprise-update/assemblies/updateTool.xml @@ -9,44 +9,231 @@ zip - false + true - - - ${project.basedir}/target/update-contents-${installer.version.name}.zip - update - - - - - - - - false - true - bin - alfresco-update-tool.jar - - org.alfresco:alfresco-update-tool:jar - - - - - false - true + + + + ${unpacked.update.tool}/bin - true - - keep - - META-INF/** - - - org.alfresco:alfresco-update-tool-distribution:jar + *.bat + + dos + + + + ${unpacked.update.tool}/bin + + + *.sh + + unix + + 0755 + + + + + ${unpacked.alfresco.platform.distribution} + resources/distribution/platform + + package.properties + + dos + + + + ${unpacked.alfresco.one.distribution} + resources/distribution/platform + + README.txt + + dos + + + + + ${unpacked.alfresco.platform.distribution} + resources/distribution/platform_only + + README.txt + package.properties + + dos + + + + + ${unpacked.alfresco.share.distribution} + resources/distribution/share_only + + README.txt + package.properties + + dos + + + + + ${unpacked.alfresco.platform.distribution}/bin + resources/distribution/common/bin + + alfresco-mmt.jar + alfresco-spring-encryptor.jar + + keep + + + + + ${unpacked.solr4.distribution}/archive-SpacesStore/conf + resources/distribution/common/solr4/archive-SpacesStore/conf + + schema.xml + + keep + + + + + ${unpacked.org.alfresco.aos.distribution} + resources/war + + *.war + + keep + + + + + ${unpacked.org.alfresco.aos.distribution} + resources/amp/platform + + *.amp + + keep + + + + ${unpacked.update.tool}/bin + lib + + *.jar + + + + + ${unpacked.update.tool} + + + README.txt + package.properties + + dos + + + + ${unpacked.update.script} + /resources/script + + *.auas + + keep + + + + + ${unpacked.alfresco.wcmqs.distribution} + resources/amp/platform + + alfresco-wcmqs.amp + + + + + ${unpacked.alfresco.wcmqs.distribution} + resources/amp/share + + alfresco-wcmqs-share.amp + + + + + ${unpacked.alfresco.wcmqs.distribution} + resources/war + + *.war + + + + + + + + + + false + true + resources/war + alfresco.war + + org.alfresco:alfresco-platform-enterprise:war - + + + + false + true + resources/war + share.war + + org.alfresco:share:war + + + + + + false + true + resources/war + solr4.war + + org.alfresco:alfresco-solr4:war + + + + + + false + true + resources/amp/platform + + org.alfresco.integrations:alfresco-googledocs-repo:amp:enterprise:* + + + + + + false + true + resources/amp/platform + alfresco-share-services.amp + + org.alfresco:alfresco-share-services:amp:* + + + + + false + true + resources/amp/share + + org.alfresco.integrations:alfresco-googledocs-share:amp:enterprise:* + + + - + diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml index fd472a3d77..928c430088 100644 --- a/enterprise-update/pom.xml +++ b/enterprise-update/pom.xml @@ -7,12 +7,24 @@ alfresco-full-installation 5.2-SNAPSHOT - alfresco-enterprise-update-package + alfresco-one-update-package jar - Alfresco Enterprise Update Package + Alfresco One Update Package + + ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} + ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} + ${project.build.directory}/dependency/wcmqs-${project.version} + ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} + ${project.build.directory}/dependency/alfresco-one-distribution-${project.version} + ${project.build.directory}/dependency/solr4-distribution-${project.version} + + + ${project.build.directory}/classes/script/${version.major}.${version.minor} + - + org.alfresco alfresco-platform-enterprise @@ -20,6 +32,7 @@ war + org.alfresco share @@ -27,22 +40,88 @@ war - + org.alfresco - alfresco-update-tool - ${alfresco.updatetool.version} - jar + alfresco-solr4 + ${alfresco.platform.version} + war - + + - org.alfresco - alfresco-update-tool-distribution - ${alfresco.updatetool.version} - jar + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + enterprise + amp + + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + enterprise + amp - + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + + + + org.alfresco + alfresco-wcmqs-distribution + ${alfresco.share.version} + zip + + + + + org.alfresco + alfresco-update-tool-distribution + ${alfresco.updatetool.version} + zip + + + + + org.alfresco + alfresco-one-platform-distributionzip + ${alfresco.platform.version} + zip + + + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + zip + + + + + org.alfresco + alfresco-one-distribution + ${project.version} + jar + + + + + org.alfresco + alfresco-solr4 + ${alfresco.platform.version} + config + zip + + + junit junit @@ -53,24 +132,195 @@ ${project.artifactId}-${installer.version.name} + src/main/java + + + src/main/resources + + + src/test/java + + + src/test/resources + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack-wcmqs-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-wcmqs-distribution + ${alfresco.share.version} + zip + ${unpacked.alfresco.wcmqs.distribution} + + + + + + unpack-update-tool-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-update-tool-distribution + ${alfresco.updatetool.version} + true + zip + + + + + + unpack-alfresco-enterprise-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-one-platform-distributionzip + ${alfresco.platform.version} + true + zip + + + + + + unpack-alfresco-share-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-share-distribution + ${alfresco.share.version} + true + zip + + + + + + + unpack-aos-distribution + generate-resources + + unpack + + + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} + true + zip + ${unpacked.org.alfresco.aos.distribution} + + + + + + + unpack-one-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-one-distribution + ${project.version} + true + jar + ${unpacked.alfresco.one.distribution} + + + + + + + unpack-solr4-distribution + generate-resources + + unpack + + + + + org.alfresco + alfresco-solr4 + ${alfresco.platform.version} + config + true + zip + ${unpacked.solr4.distribution} + + + + + + + + + com.google.code.maven-replacer-plugin + replacer + 1.5.3 + + + prepare-package + + replace + + + + + ${unpacked.update.tool}/README.txt,${unpacked.update.tool}/package.properties + + + @Version@ + ${version} + + + @UpdateAssistantVersion@ + ${alfresco.updatetool.version} + + + + + maven-assembly-plugin - - update - package - - single - - - false - - assemblies/update.xml - - update-contents-${installer.version.name} - - + update-tool package @@ -90,16 +340,26 @@ - + + org.apache.maven.plugins maven-surefire-plugin - - - **/*IntegrationTest.java - - + + default-test + test + + test + + + + **/*IntegrationTest.java + + true + alphabetical + + integration-test integration-test @@ -109,18 +369,19 @@ false ${project.build.directory} - false + true alphabetical - - ${project.artifactId}-${installer.version.name}.zip - update-contents-${installer.version.name}.zip - none **/*IntegrationTest.java + + ${project.artifactId}-${installer.version.name}.zip + ${project.artifactId}-${installer.version.name}.tgz + ${project.build.directory} + diff --git a/enterprise-update/src/main/resources/script/5.0/update5-0.auas b/enterprise-update/src/main/resources/script/5.0/update5-0.auas new file mode 100644 index 0000000000..078afab98c --- /dev/null +++ b/enterprise-update/src/main/resources/script/5.0/update5-0.auas @@ -0,0 +1,5 @@ +// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.0 +// update5-0.auas + +DELETE /tomcat/endorsed/xalan-2.7.2.jar +DELETE /tomcat/endorsed/serializer-2.7.2.jar \ No newline at end of file diff --git a/enterprise-update/src/main/resources/script/5.1/update5-1.auas b/enterprise-update/src/main/resources/script/5.1/update5-1.auas new file mode 100644 index 0000000000..3910132c08 --- /dev/null +++ b/enterprise-update/src/main/resources/script/5.1/update5-1.auas @@ -0,0 +1,4 @@ +// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.1 +// update5-1.auas + +// EMPTY AT THE MOMENT diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index f20577a13b..80031b0b2b 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -1,4 +1,10 @@ - +/* + * Copyright 2015-2015 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ package org.alfresco.update.packaging; import static org.junit.Assert.*; @@ -20,8 +26,7 @@ import org.junit.Test; *

* To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: *

- *   -Dalfresco.update.package=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
- *   -Dalfresco.contents.package=target/update-contents-2015-1-EA-SNAPSHOT.zip
+ *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
  * 
* * ...or similar, depending on current version etc. There probably is a better way. @@ -31,18 +36,13 @@ import org.junit.Test; public class PackagingIntegrationTest { private File updatePackage; - private File contentsPackage; @Before public void setUp() throws Exception { - String pkgName = System.getProperty("alfresco.update.package"); - assertNotNull("Could not determine package name."); - updatePackage = new File(pkgName); - - String contentsPkgName = System.getProperty("alfresco.contents.package"); - assertNotNull("Could not determine content package name."); - contentsPackage = new File(contentsPkgName); + String pkgName = System.getProperty("alfresco.update.package.zip"); + assertNotNull("Could not determine package name.", pkgName); + updatePackage = new File(pkgName); } @Test @@ -51,30 +51,28 @@ public class PackagingIntegrationTest // Check the package exists before we go any further assertTrue("Update package does not exist.", updatePackage.exists()); - Set paths = listFiles(updatePackage); + Set paths = listFiles(updatePackage); + + assertTrue("too few paths in the update package", paths.size() > 3); + String firstPath = (String)paths.toArray()[0]; + String dirs[] = firstPath.split("/"); + // Are the binaries present? - assertPathPresent(paths, "bin/alfresco-update-tool.jar"); - assertPathPresent(paths, "bin/apply_updates.sh"); - assertPathPresent(paths, "bin/apply_updates.bat"); + assertPathPresent(paths, dirs[0] + "/lib/alfresco-update-tool.jar"); + assertPathPresent(paths, dirs[0] + "/apply_updates.sh"); + assertPathPresent(paths, dirs[0] + "/apply_updates.bat"); // Is the content sub-package present? - assertPathPresent(paths, "update/"+contentsPackage.getName()); - } - - @Test - public void testContentsPackageStructureIsAsExpected() throws ZipException, IOException - { - // Check the package exists before we go any further - assertTrue("Contents package does not exist.", contentsPackage.exists()); + assertPathPresent(paths, dirs[0] + "/resources/war/alfresco.war"); + assertPathPresent(paths, dirs[0] + "/resources/war/share.war"); - Set paths = listFiles(contentsPackage); + // Is the mmt in the correct place ? + assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-mmt.jar"); + assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); - // Are the webapps present? - assertPathPresent(paths, "assets/web-server/webapps/alfresco.war"); - assertPathPresent(paths, "assets/web-server/webapps/share.war"); } - + private void assertPathPresent(Set pathsToCheck, String expectedPath) { assertTrue("Expected path to be present, but was not: "+expectedPath, @@ -102,3 +100,4 @@ public class PackagingIntegrationTest return paths; } } + diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java new file mode 100644 index 0000000000..b0ff8da80f --- /dev/null +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java @@ -0,0 +1,47 @@ +package org.alfresco.update.pkg.test; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.io.File; + +import org.junit.Before; + +/** + * Abstract base class for tests. + * + * @author Matt Ward + */ +public abstract class AbstractIntegrationTest +{ + protected File targetDir; + + @Before + public void setUp() throws Exception + { + initTargetDir(); + } + + private void initTargetDir() + { + String targetDir = System.getProperty("alfresco.target.dir"); + if (targetDir == null) + { + targetDir = "./target"; // test needs to be run in target dir. + } + this.targetDir = new File(targetDir); + assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); + } + + + protected boolean runningOnWindows() + { + String os = System.getProperty("os.name").toLowerCase(); + + if (os.contains("windows")) + { + return true; + } + return false; + } +} diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java new file mode 100644 index 0000000000..98e514af34 --- /dev/null +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java @@ -0,0 +1,74 @@ +/* + * Copyright 2005-2015 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ +package org.alfresco.update.pkg.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNotNull; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Enumeration; + +import org.apache.commons.compress.archivers.ArchiveException; +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipFile; +import org.apache.commons.compress.compressors.CompressorException; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests for the tgz format packaging. + * + * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: + *
+ *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
+ * 
+ * + * @author Matt Ward + */ +public class ZipFormatIntegrationTest extends AbstractIntegrationTest +{ + + File updatePackage; + + @Before + public void setUp() throws Exception + { + super.setUp(); + String pkgName = System.getProperty("alfresco.update.package.zip"); + assertNotNull("Could not determine package name.", pkgName); + updatePackage = new File(pkgName); + } + + @Test + public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException + { + assertTrue("File does not exist: "+ updatePackage, updatePackage.exists()); + try (ZipFile zipFile = new ZipFile(updatePackage)) + { + Enumeration e = zipFile.getEntries(); + boolean found = false; + while (!found && e.hasMoreElements()) + { + ZipArchiveEntry entry = e.nextElement(); + File f = new File(entry.getName()); + if (f.getName().equalsIgnoreCase("apply_updates.sh")) + { + found = true; + System.out.println("Found the unix shell wrapper script."); + final int expectedPerms = 0755; + // Other bits may be set, but check 755 octal are set. + System.out.println("File has permissions: "+Integer.toString(entry.getUnixMode(), 8)); + assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); + } + } + } + } +} diff --git a/pom.xml b/pom.xml index a72e860db8..da6b0a11ff 100644 --- a/pom.xml +++ b/pom.xml @@ -82,6 +82,7 @@ enterprise-distribution enterprise-update enterprise-installer + enterprise-update-test From 9ac7f9191f27ef57588f7209414556ae5d38d122 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:39:09 +0000 Subject: [PATCH 423/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124169 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124152 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124140: Added a new maven profile for "update-test", 124136: hard code a value for base.installer.version, git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125964 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index da6b0a11ff..2e6dca0f16 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,9 @@ alfresco-community ${alfresco.package.name}-distribution + + + https://releases.alfresco.com/Enterprise-5.1/5.1.0/AlfrescoOne/build-00019/ALL/alfresco-one-installer-201603-linux-x64.bin @@ -82,7 +85,12 @@ enterprise-distribution enterprise-update enterprise-installer - enterprise-update-test + + + + update-test + + enterprise-update-test From 79a2fe996bd933c24795a103888bc169ce021cab Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:39:59 +0000 Subject: [PATCH 424/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124170 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124165 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) - correct pom.xml version git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125965 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 15819a6f3985771ceed130af9ff5c27fb15ea45e Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:40:46 +0000 Subject: [PATCH 425/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124203 adavis: UTF-398: Update tool - try https://nightlybuilds.alfresco.com/Enterprise-5.2/LATEST-BASE-INSTALLER in pom.xml git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125966 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2e6dca0f16..eb386e4467 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ ${alfresco.package.name}-distribution - https://releases.alfresco.com/Enterprise-5.1/5.1.0/AlfrescoOne/build-00019/ALL/alfresco-one-installer-201603-linux-x64.bin + https://nightlybuilds.alfresco.com/Enterprise-5.2/LATEST-BASE-INSTALLER From ca96159d5cd79fb1239c1bc762c564e110d625f1 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:40:57 +0000 Subject: [PATCH 426/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 124233,124286 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125967 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 62287a6f25655c716ae57d68a896ce14a74274ff Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:42:04 +0000 Subject: [PATCH 427/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124287 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124276 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124235 mrogers: Temp fix to work around MNT-15874 - test to ignore alfresco-global.properties for now. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125968 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index 99472447ea..e0a7d612fa 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -75,6 +75,9 @@ public class FileTreeCompareImpl implements FileTreeCompare ignorePaths.add(toPlatformPath("**/solrcore.properties")); ignorePaths.add(toPlatformPath("**/modifications.install")); ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); + + // Temp fix for the fall-out for MNT-15874 + ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco-global.properties")); // Ignore for 5.1 MNT-14307 ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); From 1f3b3be8e250f7b11d44eaf7c6eb61d8a10e9f7b Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:42:17 +0000 Subject: [PATCH 428/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 124311,124417,124452,124482 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125969 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From bb4efa266ea24e33eae37e85881e436c39c5d671 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:42:51 +0000 Subject: [PATCH 429/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 124771 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125971 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 48fd7b26f894edb699862e2cb8b501bf53931d15 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:43:37 +0000 Subject: [PATCH 430/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 125091,125155 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125972 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 91a8e80deceebd1c7fbed0ef7a75921e8c4ee8f6 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:44:17 +0000 Subject: [PATCH 431/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125179 mrogers: Added new test for SNAPSHOT and nightly builds git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125974 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 27671f7b01..27e520dbc2 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -151,6 +151,19 @@ + + + + + + + + + + + + + From 2bb4b29713387de614f18591c5cc63e2c7fd8f01 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:44:34 +0000 Subject: [PATCH 432/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125195 mrogers: Temp fix - remove test of postgres lib git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125975 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java index e0a7d612fa..c26067694a 100644 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java @@ -78,6 +78,10 @@ public class FileTreeCompareImpl implements FileTreeCompare // Temp fix for the fall-out for MNT-15874 ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco-global.properties")); + + // Temp fix for PostGress SNAPSHOT upgrade on 5.2 + ignorePaths.add(toPlatformPath("tomcat/lib/postgresql-9.4-1201-jdbc41.jar")); + ignorePaths.add(toPlatformPath(" tomcat/lib/postgresql-9.4.1208.jre7.jar")); // Ignore for 5.1 MNT-14307 ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); From 27c00d36404b4e4e0d75500de60c640a26a56e47 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:46:00 +0000 Subject: [PATCH 433/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125216 mrogers: correcting regex git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125976 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 27e520dbc2..38a3c31453 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -155,13 +155,13 @@ - + - + - + From 3cedeca8400583f5ce8ea2869de66b6bf2d0fe30 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:46:12 +0000 Subject: [PATCH 434/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 125243,125332,125394 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125977 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 0366315fbbda7d05567dd475c57cc20c3c3a2d40 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:46:52 +0000 Subject: [PATCH 435/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 125806 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125979 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 781e99516f62303581d1e6421a0e432f3573565f Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:47:28 +0000 Subject: [PATCH 436/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125807 rmunteanu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125614 rmunteanu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125544 mrogers: Integration test javadoc git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125983 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../packaging/PackagingIntegrationTest.java | 19 +++++++++++++++++++ .../pkg/test/ZipFormatIntegrationTest.java | 6 +++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index 80031b0b2b..76d016a7db 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -45,6 +45,22 @@ public class PackagingIntegrationTest updatePackage = new File(pkgName); } + /** + * Test that the package structure within the update package + * is as expected. + *

+ * In particular check the following paths exist. + *

    + *
  • /lib/alfresco-update-tool.jar
  • + *
  • /apply_updates.sh
  • + *
  • /apply_updates.bat
  • + *
  • /resources/war/alfresco.war
  • + *
  • /resources/war/share.war
  • + *
  • /resources/distribution/common/bin/alfresco-mmt.jar
  • + *
  • /resources/distribution/common/bin/alfresco-spring-encryptor.jar
  • + *
  • /resources/distribution/platform/README.txt
  • + *
+ */ @Test public void testPackageStructureIsAsExpected() throws ZipException, IOException { @@ -71,6 +87,9 @@ public class PackagingIntegrationTest assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-mmt.jar"); assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); + // Is the readme present ? + assertPathPresent(paths, dirs[0] + "resources/distribution/platform/README.txt"); + } private void assertPathPresent(Set pathsToCheck, String expectedPath) diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java index 98e514af34..c6df311657 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java @@ -35,7 +35,6 @@ import org.junit.Test; */ public class ZipFormatIntegrationTest extends AbstractIntegrationTest { - File updatePackage; @Before @@ -47,6 +46,11 @@ public class ZipFormatIntegrationTest extends AbstractIntegrationTest updatePackage = new File(pkgName); } + /** + * Check that the apply_updates.sh script exists in the update package and + * that it has 0x755 permissions. In particular the +x bit needs to be + * set. + */ @Test public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException { From 49fb07a7ee480d120c0fe832ec71e1cbfa81380e Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:50:06 +0000 Subject: [PATCH 437/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125808 rmunteanu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125615 rmunteanu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125546 mrogers: Integration test javadoc git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125984 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../test/java/EndToEndIntegrationTest.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java index 53fec9617c..259be63951 100644 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java @@ -92,7 +92,29 @@ public class EndToEndIntegrationTest initTargetDir(); } - + /** + * Compare an instance of alfresco that has been installed and + * then updated via the update package for the current build with a freshly + * installed instance of the current build. Some differences such as files containing + * the installation path are allowed. Other differences will be detected by the test. + *

+ * The maven build installs two instances of alfresco, an instance that is + * to be updated update, ${base.alfresco.instance} + * and a reference instance, ${this.alfresco.instance} which is the + * current build. + *

+ * The output of the test is a boolean pass/fail but as a side-effect a report + * of the test is also produced, installation-diff-report.html and + * installation-diff-report.zip. The zip file should be empty in a + * successful execution. If there are unexpected differences then these will + * be added to the zip file. + *

+ * The patterns of files to [test | ignore | allow special processing] are currently + * contained within the FileTreeCompareImpl.java class as are the patterns allowed + * during special processing. + * + * @see FileTreeCompareImpl + */ @Test public void testEndToEndUpdate() throws Exception { From dafa0d627f53289ae7b21002fd5b6056115c9f12 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:51:32 +0000 Subject: [PATCH 438/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125809 rmunteanu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125616 rmunteanu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125581 mrogers: Build fix - correction to r125544 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125986 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/update/packaging/PackagingIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java index 76d016a7db..5f2bde3940 100644 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java @@ -88,7 +88,7 @@ public class PackagingIntegrationTest assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); // Is the readme present ? - assertPathPresent(paths, dirs[0] + "resources/distribution/platform/README.txt"); + assertPathPresent(paths, dirs[0] + "/resources/distribution/platform/README.txt"); } From 4dbc9ebc448b933db5d3bfa983f7ac9119f1b0c6 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 10:52:42 +0000 Subject: [PATCH 439/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 125811,125873,125924,125945 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125988 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a4208e35ded36580143ab0c7ac14c0078f37d5ca Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 28 Apr 2016 15:10:32 +0000 Subject: [PATCH 440/670] Correcting parent pom version for enterprise-update-test git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@125996 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index 38a3c31453..6b7a1fa65f 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -6,7 +6,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.2-SNAPSHOT - + https://nightlybuilds.alfresco.com/Enterprise-5.2/5.2/LATEST/ALL/alfresco-one-installer-LATEST-linux-x64.bin ${project.build.directory}/test-data/base-alf-installation From 580f932885b40be70ea34520805d03c813405204 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Wed, 4 May 2016 10:59:05 +0000 Subject: [PATCH 443/670] Added maven profile "update-assistant-tests". The update assistant related unit and integration tests are now only run when explicitly activated, e.g: mvn clean integration-test -Pupdate-assistant-tests or mvn clean test -Pupdate-assistant-tests In addition the long running unpacking of the update package has been moved into a pre-integration-test phase which is where it should belong, so that it isn't run during unit testing. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@126059 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/pom.xml | 361 ++++++++++++++++++--------------- 1 file changed, 197 insertions(+), 164 deletions(-) diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml index fe53ad7e00..99cd8a3b94 100644 --- a/enterprise-update-test/pom.xml +++ b/enterprise-update-test/pom.xml @@ -89,142 +89,7 @@ 1.7 - - org.apache.maven.plugins - maven-dependency-plugin - - - - unpack-update-package - generate-resources - - unpack - - - - - org.alfresco - alfresco-one-update-package - ${project.version} - true - ${unpacked.update.package} - zip - - - - - - - - - - maven-antrun-plugin - - - fetch-installer - pre-integration-test - - run - - - - - - - - - - - - - - Is base.installer.version provided ? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Downloading Base Alfresco installer ${base.installer.version}... - - - - Installing the base Version of Alfresco... to ${base.alfresco.instance} - - - - - - - - - - - - - - - - - - - Installing newly generated version of Alfresco... - - - - - - - - - - - org.apache.ant - ant-jsch - 1.8.2 - - - ant-contrib - ant-contrib - 1.0b3 - - - ant - ant - - - - - @@ -239,39 +104,15 @@ + **/*IntegrationTest.java + org/alfresco/update/**/*Test.java true alphabetical - - ${alfresco.update.package} - ${project.build.directory} - ${this.alfresco.instance} - ${base.alfresco.instance} - - - - - integration-test - integration-test - - test - - - false - ${project.build.directory} - true - alphabetical - - none - - - **/*IntegrationTest.java - - - ${project.artifactId}-${installer.version.name}.zip - ${project.build.directory} - @@ -280,7 +121,199 @@ + + update-assistant-tests + + false + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + + unpack-update-package + pre-integration-test + + unpack + + + + + org.alfresco + alfresco-one-update-package + ${project.version} + true + ${unpacked.update.package} + zip + + + + + + + + + maven-antrun-plugin + + + fetch-installer + pre-integration-test + + run + + + + + + + + + + + + + + Is base.installer.version provided ? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Downloading Base Alfresco installer ${base.installer.version}... + + + + Installing the base Version of Alfresco... to ${base.alfresco.instance} + + + + + + + + + + + + + + + + + + + Installing newly generated version of Alfresco... + + + + + + + + + + + org.apache.ant + ant-jsch + 1.8.2 + + + ant-contrib + ant-contrib + 1.0b3 + + + ant + ant + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + default-test + test + + test + + + + **/*IntegrationTest.java + + true + alphabetical + + + + integration-test + integration-test + + test + + + false + ${project.build.directory} + true + alphabetical + + none + + + **/*IntegrationTest.java + + + ${project.artifactId}-${installer.version.name}.zip + ${project.build.directory} + ${alfresco.update.package} + ${project.build.directory} + ${this.alfresco.instance} + ${base.alfresco.instance} + + + + + + + + From ecf3e0dd1f2906026e40265c0896b954315f2086 Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Wed, 4 May 2016 12:50:18 +0000 Subject: [PATCH 444/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 126048 jphuynh: MNT-16233: Use AOS 1.1.1. (Incomplete version bump from ACE-5133 done in Platform) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126086 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 575359a2c2..88bee1adcc 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.0-SNAPSHOT - 1.1 + 1.1.1 5.1-20151118 From a3b85225246ec0449e045117fca60cebfc7e59af Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 5 May 2016 11:53:05 +0000 Subject: [PATCH 445/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 126106 slanglois: MNT-16094 Apply alfresco-aos-module to alfresco.war in EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126116 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-war-for-ear/pom.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 33f736a84c..ad181f8c66 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -22,6 +22,18 @@ ${alfresco.share.version} amp + + org.alfresco.aos-module + alfresco-aos-module + ${alfresco.aos-module.version} + amp + + + * + * + + + @@ -34,7 +46,7 @@ org.alfresco.maven.plugin alfresco-maven-plugin - 2.1.1 + 2.2.0 @@ -49,6 +61,11 @@ alfresco-share-services amp + + org.alfresco.aos-module + alfresco-aos-module + amp + From a55c7eac7471f7a29c8454d3378a225d47d5aebd Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Thu, 5 May 2016 12:57:34 +0000 Subject: [PATCH 446/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 126091 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126125 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e91a64d76ec6846e8377e0a5b32a895e260d2ea2 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 6 May 2016 10:17:23 +0000 Subject: [PATCH 447/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (PARTIAL MERGE) 126218 adavis: Merged 5.0.3 (5.0.3.5) to 5.0.N (5.0.4) 126215 adavis: Removal of the Update Assistant git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126219 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/mer.bat | 1 - enterprise-update-test/pom.xml | 273 ------------ .../dircomp/CaseSensitivePathComparator.java | 28 -- .../update/tool/dircomp/FileTreeCompare.java | 22 - .../tool/dircomp/FileTreeCompareImpl.java | 398 ----------------- .../tool/dircomp/HtmlResultFormatter.java | 170 ------- .../alfresco/update/tool/dircomp/Result.java | 95 ---- .../update/tool/dircomp/ResultFormatter.java | 28 -- .../update/tool/dircomp/ResultSet.java | 44 -- .../update/tool/dircomp/SortedPathSet.java | 28 -- .../tool/dircomp/ZipResultFormatter.java | 73 --- .../exception/FileTreeCompareException.java | 31 -- .../test/java/EndToEndIntegrationTest.java | 325 -------------- .../tool/dircomp/FileTreeCompareImplTest.java | 415 ------------------ .../tool/dircomp/HtmlResultFormatterTest.java | 85 ---- .../tool/dircomp/ZipResultFormatterTest.java | 82 ---- .../allowed_differences/tree1/x/story.txt | 5 - .../allowed_differences/tree1/y/blah.txt | 2 - .../allowed_differences/tree2/x/story.txt | 5 - .../allowed_differences/tree2/y/blah.txt | 2 - .../tree1/b/alfresco-testdata-webapp.war | Bin 3162 -> 0 bytes .../file_folders_plus_war/tree1/b/blah.txt | 2 - .../tree1/c/c1/commands.bat | 2 - .../tree1/c/c1/commands.sh | 4 - .../tree1/c/c2/Aardvark.java | 7 - .../tree1/c/c2/Banana.java | 7 - .../file_folders_plus_war/tree2/a/story.txt | 5 - .../tree2/b/alfresco-testdata-webapp.war | Bin 3726 -> 0 bytes .../file_folders_plus_war/tree2/b/blah.txt | 2 - .../tree2/c/c1/commands.bat | 2 - .../tree2/c/c1/commands.sh | 4 - .../tree2/c/c2/Aardvark.java | 7 - .../simple_file_folders/tree1/b/blah.txt | 2 - .../tree1/c/c1/commands.bat | 2 - .../tree1/c/c1/commands.sh | 4 - .../tree1/c/c2/Aardvark.java | 7 - .../tree1/c/c2/Banana.java | 7 - .../simple_file_folders/tree2/a/story.txt | 5 - .../simple_file_folders/tree2/b/blah.txt | 2 - .../tree2/c/c1/commands.bat | 2 - .../tree2/c/c1/commands.sh | 4 - .../tree2/c/c2/Aardvark.java | 7 - enterprise-update/assemblies/updateTool.xml | 239 ---------- enterprise-update/pom.xml | 392 ----------------- .../main/resources/script/5.0/update5-0.auas | 5 - .../main/resources/script/5.1/update5-1.auas | 4 - .../packaging/PackagingIntegrationTest.java | 122 ----- .../pkg/test/AbstractIntegrationTest.java | 47 -- .../pkg/test/ZipFormatIntegrationTest.java | 78 ---- pom.xml | 13 - 50 files changed, 3096 deletions(-) delete mode 100644 enterprise-update-test/mer.bat delete mode 100644 enterprise-update-test/pom.xml delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java delete mode 100644 enterprise-update-test/src/test/java/EndToEndIntegrationTest.java delete mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java delete mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java delete mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Aardvark.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Banana.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/a/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/alfresco-testdata-webapp.war delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java delete mode 100644 enterprise-update/assemblies/updateTool.xml delete mode 100644 enterprise-update/pom.xml delete mode 100644 enterprise-update/src/main/resources/script/5.0/update5-0.auas delete mode 100644 enterprise-update/src/main/resources/script/5.1/update5-1.auas delete mode 100644 enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java delete mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java delete mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java diff --git a/enterprise-update-test/mer.bat b/enterprise-update-test/mer.bat deleted file mode 100644 index 5626a8ec94..0000000000 --- a/enterprise-update-test/mer.bat +++ /dev/null @@ -1 +0,0 @@ -mvn install -Dthis.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe -Dbase.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml deleted file mode 100644 index c311281b7b..0000000000 --- a/enterprise-update-test/pom.xml +++ /dev/null @@ -1,273 +0,0 @@ - - 4.0.0 - alfresco-enterprise-update-test - End to end test of the installer and update - - org.alfresco - alfresco-full-installation - 5.1.2-SNAPSHOT - - - - - - - - - - ${project.build.directory}/test-data/base-alf-installation - ${project.build.directory}/test-data/this-alf-installation - - --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco - --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs - --alfrescocustomstack_services_startup demand - - - ${project.build.directory}/test-data/alfresco-one-update-package - - - - - - - junit - junit - 4.12 - test - - - - de.schlichtherle.truezip - truezip-driver-zip - 7.7.9 - - - de.schlichtherle.truezip - truezip-file - 7.7.9 - - - commons-io - commons-io - 2.4 - - - org.apache.logging.log4j - log4j-api - 2.3 - - - org.apache.logging.log4j - log4j-core - 2.3 - - - - org.springframework - spring-core - 4.2.4.RELEASE - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.5.1 - - 1.7 - 1.7 - - - - org.apache.maven.plugins - maven-dependency-plugin - - - - - unpack-update-package - generate-resources - - unpack - - - - - org.alfresco - alfresco-one-update-package - ${project.version} - true - ${unpacked.update.package} - zip - - - - - - - - - - maven-antrun-plugin - - - fetch-installer - pre-integration-test - - run - - - - - - - - - - - - - - Is base.installer.version provided ? - - - - - - - - - - - - - - - - - - - - - - Downloading Base Alfresco installer ${base.installer.version}... - - - - Installing the base Version of Alfresco... to ${base.alfresco.instance} - - - - - - - - - - - - - - - - - - - Installing newly generated version of Alfresco... - - - - - - - - - - - org.apache.ant - ant-jsch - 1.8.2 - - - ant-contrib - ant-contrib - 1.0b3 - - - ant - ant - - - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - default-test - test - - test - - - - **/*IntegrationTest.java - - true - alphabetical - - ${alfresco.update.package} - ${project.build.directory} - ${this.alfresco.instance} - ${base.alfresco.instance} - - - - - integration-test - integration-test - - test - - - false - ${project.build.directory} - true - alphabetical - - none - - - **/*IntegrationTest.java - - - ${project.artifactId}-${installer.version.name}.zip - ${project.build.directory} - - - - - - - - - - - - - diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java deleted file mode 100644 index 56c03633ba..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.Comparator; - -/** - * Provides a platform agnostic and consistent sorting mechanism - * for {@link java.nio.file.Path} objects. - * - * @author Matt Ward - */ -public class CaseSensitivePathComparator implements Comparator -{ - @Override - public int compare(Path p1, Path p2) - { - String pathStr1 = p1.toString(); - String pathStr2 = p2.toString(); - return pathStr1.compareTo(pathStr2); - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java deleted file mode 100644 index 4c164402df..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.List; - - -/** - * File tree comparison tool interface. - * - * @author Matt Ward - */ -public interface FileTreeCompare -{ - ResultSet compare(Path p1, Path p2); -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java deleted file mode 100644 index e0a7d612fa..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ /dev/null @@ -1,398 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import de.schlichtherle.truezip.file.TArchiveDetector; -import de.schlichtherle.truezip.file.TConfig; -import de.schlichtherle.truezip.file.TFile; -import de.schlichtherle.truezip.file.TVFS; -import de.schlichtherle.truezip.fs.archive.zip.ZipDriver; -import de.schlichtherle.truezip.socket.sl.IOPoolLocator; -import org.alfresco.update.tool.dircomp.exception.FileTreeCompareException; -import org.apache.commons.io.FileUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.springframework.util.AntPathMatcher; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * Class capable of comparing two trees of files to determine which directories or - * files appear in one tree and not the other, or whether a file that appears in - * both has differences in its content. - * - * @author Matt Ward - */ -public class FileTreeCompareImpl implements FileTreeCompare -{ - private static final Logger log = LogManager.getLogger(FileTreeCompareImpl.class); - private final Set ignorePaths = new HashSet<>(); - private final Set allowedDiffsPaths = new HashSet<>(); - private final AntPathMatcher pathMatcher = new AntPathMatcher(File.separator); - - public FileTreeCompareImpl() - { - this(null, null); - } - - public FileTreeCompareImpl(Set ignorePaths, Set allowedDiffsPaths) - { - // This config MUST be present before any TFile objects etc. are created. - TConfig config = TConfig.get(); - config.setArchiveDetector(new TArchiveDetector("war|jar|amp", new ZipDriver(IOPoolLocator.SINGLETON))); - if (ignorePaths == null) - { - // Add default ignores - ignorePaths = new HashSet<>(); - ignorePaths.add(toPlatformPath("alf_data/postgresql/**")); - ignorePaths.add(toPlatformPath("alf_data/oouser/user/**")); - ignorePaths.add(toPlatformPath("alf_data/solr/*.war")); - ignorePaths.add(toPlatformPath("common/**")); - ignorePaths.add(toPlatformPath("META-INF/MANIFEST.MF")); - ignorePaths.add(toPlatformPath("META-INF/maven/**")); - ignorePaths.add(toPlatformPath("licenses/notice.txt")); - ignorePaths.add(toPlatformPath("uninstall.app/**")); - ignorePaths.add(toPlatformPath("uninstall/**")); - ignorePaths.add(toPlatformPath("uninstall.exe")); - ignorePaths.add(toPlatformPath("uninstall.dat")); - ignorePaths.add(toPlatformPath("libreoffice.app/**")); - ignorePaths.add(toPlatformPath("libreoffice/**")); - ignorePaths.add(toPlatformPath("java/**")); - ignorePaths.add(toPlatformPath("applied-updates/**")); - ignorePaths.add(toPlatformPath("~build/**")); - ignorePaths.add(toPlatformPath("properties.ini")); - ignorePaths.add(toPlatformPath("**/log.txt")); - ignorePaths.add(toPlatformPath("**/solrcore.properties")); - ignorePaths.add(toPlatformPath("**/modifications.install")); - ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); - - // Temp fix for the fall-out for MNT-15874 - ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco-global.properties")); - - // Ignore for 5.1 MNT-14307 - ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); - - - } - if (allowedDiffsPaths == null) - { - // Add default paths where certain differences are allowed, e.g. absolute path references. - allowedDiffsPaths = new HashSet<>(); - allowedDiffsPaths.add(toPlatformPath("common/bin/**")); - allowedDiffsPaths.add(toPlatformPath("common/include/**/*.h")); - allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.pc")); - allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.la")); - allowedDiffsPaths.add(toPlatformPath("libreoffice.app/Contents/Resources/bootstraprc")); - allowedDiffsPaths.add(toPlatformPath("postgresql/bin/**")); - allowedDiffsPaths.add(toPlatformPath("**/*.sh")); - allowedDiffsPaths.add(toPlatformPath("**/*.bat")); - allowedDiffsPaths.add(toPlatformPath("**/*.ini")); - allowedDiffsPaths.add(toPlatformPath("**/*.properties")); - allowedDiffsPaths.add(toPlatformPath("**/*.xml")); - allowedDiffsPaths.add(toPlatformPath("**/*.sample")); - allowedDiffsPaths.add(toPlatformPath("**/*.txt")); - allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr4.xml")); - allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr.xml")); - } - this.ignorePaths.addAll(ignorePaths); - this.allowedDiffsPaths.addAll(allowedDiffsPaths); - } - - private String toPlatformPath(String path) - { - return path.replace("/", File.separator); - } - - @Override - public ResultSet compare(Path p1, Path p2) - { - ResultSet resultSet = new ResultSet(); - try - { - compare(resultSet.stats, resultSet.results, p1, p2); - } - catch (Exception e) - { - throw new FileTreeCompareException("Unable to compare file trees.", e); - } - return resultSet; - } - - private void compare(ResultSet.Stats stats, List results, Path tree1, Path tree2) throws IOException - { - SortedPathSet set1 = sortedPaths(tree1); - SortedPathSet set2 = sortedPaths(tree2); - - SortedPathSet all = new SortedPathSet(); - all.addAll(set1); - all.addAll(set2); - - for (Path pathToFind : all) - { - if (pathMatchesIgnorePattern(pathToFind)) - { - // Skip paths that we don't want to examine, e.g. tomcat/temp - log.debug("Skipping path: "+pathToFind); - stats.ignoredFileCount++; - continue; - } - - Result result = new Result(); - results.add(result); - stats.resultCount++; - - if (set1.contains(pathToFind) && set2.contains(pathToFind)) - { - log.debug("In both: "+pathToFind); - // Set the results, translating paths back to absolute as required. - result.p1 = tree1.resolve(pathToFind); - result.p2 = tree2.resolve(pathToFind); - boolean contentMatches = false; - if (Files.isRegularFile(result.p1) && Files.isRegularFile(result.p2)) - { - contentMatches = FileUtils.contentEquals(result.p1.toFile(), result.p2.toFile()); - if (!contentMatches) - { - if (pathMatchesAllowedDiffsPattern(pathToFind)) - { - File f1 = preprocessFile(tree1, result.p1.toFile()); - File f2 = preprocessFile(tree2, result.p2.toFile()); - contentMatches = FileUtils.contentEquals(f1, f2); - // Delete the files now that we no longer need them. The originals are still available. - f1.delete(); - f2.delete(); - if (contentMatches) - { - // If the preprocessed files match, then although the files didn't - // match when first compared byte-for-byte, they do match as far as we are concerned. - // But add to the stats that this is what has happened. - stats.suppressedDifferenceCount++; - } - } - else if (isSpecialArchive(pathToFind)) - { - Path archive1 = extract(result.p1); - Path archive2 = extract(result.p2); - result.subTree1 = archive1; - result.subTree2 = archive2; - final int diffBefore = stats.differenceCount; - compare(stats, result.subResults, archive1, archive2); - final int diffAfter = stats.differenceCount; - if (diffAfter == diffBefore) - { - // No significant differences were found in the (recursive) subtree comparison. - // We can therefore mark the special archive files matching in both trees. - contentMatches = true; - } - } - } - - } - else if (Files.isDirectory(result.p1) && Files.isDirectory(result.p2)) - { - // Two directories are counted as the same. - contentMatches = true; - } - result.equal = contentMatches; - } - else if (set1.contains(pathToFind)) - { - log.debug("In tree1 only: "+pathToFind); - result.p1 = tree1.resolve(pathToFind); - result.p2 = null; - } - else if (set2.contains(pathToFind)) - { - log.debug("In tree2 only: "+pathToFind); - result.p1 = null; - result.p2 = tree2.resolve(pathToFind); - } - else - { - throw new IllegalStateException( - "Something went wrong. The path is not found in either tree: "+pathToFind); - } - - if (!result.equal) - { - stats.differenceCount++; - } - } - } - - private File preprocessFile(Path tree, File orig) throws IOException - { - // Create a set of replacements that we intend to make. Replacing them with - // a known token allows us to remove differences (that we're not interested in) in the files. - Map replacements = new HashMap<>(); - replacements.put(tree.toRealPath().toString(), replacementToken("comparison_root")); - - // Create a pattern for module.installDate - Pattern installDatePattern = Pattern.compile("module.installDate=.*[\n\r\f]*$"); - Pattern commentPattern = Pattern.compile("^#.*"); - - File processed = Files.createTempFile(orig.getName(), ".tmp").toFile(); - try(Reader r = new FileReader(orig); - BufferedReader br = new BufferedReader(r); - Writer w = new FileWriter(processed); - PrintWriter pw = new PrintWriter(w)) - { - String line; - - while ((line = br.readLine()) != null) - { - for (String replKey : replacements.keySet()) - { - String replVal = replacements.get(replKey); - line = line.replace(replKey, replVal); - } - Matcher m = installDatePattern.matcher(line); - if(m.matches()) - { - // replace module.installDate - line = m.replaceFirst("module.installDate="); - } - Matcher cp = commentPattern.matcher(line); - if(cp.matches()) - { - // replace module.installDate - line = "# {comment suppressed}\n"; - } - - pw.println(line); - } - } - return processed; - } - - private String replacementToken(String label) - { - return String.format("@$@$@$@${{TREE_COMPARE_%s}}", label); - } - - private boolean isSpecialArchive(Path pathToFind) - { - return pathToFind.getFileName().toString().toLowerCase().endsWith(".war") || - pathToFind.getFileName().toString().toLowerCase().endsWith(".jar") || - pathToFind.getFileName().toString().toLowerCase().endsWith(".amp"); - } - - /** - * If the set of paths to allow certain differences ({@link #allowedDiffsPaths}) - * contains a pattern matching the specified path, then true is returned. - *

- * Patterns are ant-style patterns. - * - * @param path The path to check - * @return True if there is a pattern in the allowedDiffsPaths set matching the path. - */ - private boolean pathMatchesAllowedDiffsPattern(String path) - { - return pathMatchesPattern(path, allowedDiffsPaths); - } - - /** - * @see #pathMatchesAllowedDiffsPattern(String) - */ - private boolean pathMatchesAllowedDiffsPattern(Path path) - { - return pathMatchesAllowedDiffsPattern(path.toString()); - } - - /** - * If the set of paths to ignore ({@link #ignorePaths}) contains - * a pattern matching the specified path, then true is returned. - *

- * Patterns are ant-style patterns. - * - * @param path The path to check - * @return True if there is a path in the ignorePaths set that is a prefix of the path. - */ - private boolean pathMatchesIgnorePattern(String path) - { - return pathMatchesPattern(path, ignorePaths); - } - - /** - * @see #pathMatchesIgnorePattern(String) - */ - private boolean pathMatchesIgnorePattern(Path path) - { - return pathMatchesIgnorePattern(path.toString()); - } - - private boolean pathMatchesPattern(String path, Set patterns) - { - for (String pattern : patterns) - { - if (pathMatcher.match(pattern, path)) - { - return true; - } - } - return false; - } - - private Path extract(Path archivePath) throws IOException - { - String destDirName = archivePath.getFileName().toString(); - Path dest = Files.createTempDirectory(destDirName); - extract(archivePath, dest); - return dest; - } - - private void extract(Path archivePath, Path destPath) throws IOException - { - TFile archive = new TFile(archivePath.toFile()); - TFile dest = new TFile(destPath.toFile(), TArchiveDetector.NULL); - try - { - // Unzip the archive. - archive.cp_rp(dest); - } - finally - { - TVFS.umount(archive); - TVFS.umount(dest); - } - } - - /** - * Traverse path and create a {@link SortedPathSet} containing the set - * of paths encountered. The {@link Path} instances are relative to - * the base path provided as a parameter to this method. - * - * @param path The path to traverse. - * @return SortedPathSet - * @throws IOException - */ - protected SortedPathSet sortedPaths(Path path) throws IOException - { - SortedPathSet sortedPaths = new SortedPathSet(); - collectPaths(sortedPaths, path, path.toFile()); - return sortedPaths; - } - - private void collectPaths(SortedPathSet sortedSet, Path root, File path) throws IOException - { - for (File f : path.listFiles()) - { - Path relativePath = root.relativize(f.toPath()); - sortedSet.add(relativePath); - if (f.isDirectory()) - { - collectPaths(sortedSet, root, f); - } - } - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java deleted file mode 100644 index ec8fa8ebc1..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.io.OutputStream; -import java.io.PrintWriter; -import java.util.List; - -/** - * Format results as HTML. - * - * @author Matt Ward - */ -public class HtmlResultFormatter implements ResultFormatter -{ - private int maxPathDisplayLength = 50; - private boolean differencesOnly; - - - @Override - public void format(ResultSet resultSet, OutputStream out) - { - boolean failed = resultSet.stats.differenceCount > 0; - - try(PrintWriter pw = new PrintWriter(out)) - { - pw.println(""); - pw.println(""); - pw.println(""); - pw.println("File tree comparison results"); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println("

"); - - String passOrFail; - String alertClass; - if (failed) - { - alertClass = "alert-danger"; - passOrFail = "FAILED"; - } - else - { - alertClass = "alert-success"; - passOrFail = "PASSED"; - } - - pw.println("
\n" + - "

Fresh installation vs updated installation Diff tool results

\n" + - "
"); - pw.println("
"); - pw.println("

Status: "+passOrFail+"

"); - pw.println("

Files examined: "+resultSet.stats.resultCount+"

"); - pw.println("

Files with differences: "+resultSet.stats.differenceCount+"

"); - pw.println("

Files with allowed differences: "+resultSet.stats.suppressedDifferenceCount+"

"); - pw.println("

Ignored files: "+resultSet.stats.ignoredFileCount+"

"); - pw.println("
"); - outputResultsTable(resultSet.results, pw, 0); - - pw.println("
"); - pw.println(""); - pw.println(""); - } - } - - private void outputResultsTable(List results, PrintWriter pw, int row) - { - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - - for (Result r : results) - { - ++row; - - outputResult(pw, row, r); - - if (!r.subResults.isEmpty()) - { - // Only show the subresults if there are - if (!differencesOnly || !r.equal) - { - pw.println(""); - } - } - } - - pw.println(""); - pw.println("
#Updated installFresh install
 "); - outputResultsTable(r.subResults, pw, row); - pw.println("
"); - } - - private void outputResult(PrintWriter pw, int row, Result r) - { - if (differencesOnly && r.equal) - { - return; - } - pw.println(""); - - pw.println(""+row+""); - - String p1 = (r.p1 == null) ? "" : r.p1.toString(); - String p1Abbr = abbreviate(p1, maxPathDisplayLength); - String p2 = (r.p2 == null) ? "" : r.p2.toString(); - String p2Abbr = abbreviate(p2, maxPathDisplayLength); - - // TODO: URL/HTML-encode as appropriate - String diffClass; - if (r.equal) - { - if (r.subResults.isEmpty()) - { - // Result refers to a normal file or directory. - diffClass = "info"; - } - else - { - // File is a special archive, but no differences in the sub-results are considered important. - diffClass = "warning"; - } - } - else - { - // The file/directory appears different in each tree. If it is a special archive, then there - // are differences that we care about. - diffClass = "danger"; - } - - pw.println( - String.format("%s%s", - diffClass, - p1, - p1Abbr, - diffClass, - p2, - p2Abbr)); - - pw.println(""); - } - - private String abbreviate(String str, int maxLength) - { - return (str.length() > maxLength) ? "..."+str.substring(str.length()-maxLength) : str; - } - - public void setMaxPathDisplayLength(int maxPathDisplayLength) - { - this.maxPathDisplayLength = maxPathDisplayLength; - } - - public void setDifferencesOnly(boolean differencesOnly) - { - this.differencesOnly = differencesOnly; - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java deleted file mode 100644 index 355cebb239..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; - -/** - * Simple struct-style result data class. - * - * @author Matt Ward - */ -public final class Result -{ - /** - * The path within tree1 being compared (intended to be the updated Alfresco installation). - *

- * This field will be null if the file in question appears only in the tree2. - */ - Path p1; - /** - * The path within tree2 being compared (intended to be the freshly installed equivalent of {@link #p1}). - *

- * This field will be null if the file in question appears only in the tree1. - */ - Path p2; - /** - * Are the paths in {@link #p1} and {@link #p2} of identical content? If they refer to a directory, then - * equal in this sense is to have the same directory name. If they refer to a plain file, then equal means - * that they contain the exact same contents. - */ - boolean equal; - /** - * The root path of sub-tree1 to which {@link #subResults} refers. - * @see #subResults - */ - Path subTree1; - /** - * The root path of sub-tree2 to which {@link #subResults} refers. - * @see #subResults - */ - Path subTree2; - /** - * If p1 and p2 refer to a special archive with differences, e.g. they refer to alfresco.war, - * then a deep comparison of the archives will be performed and the results stored here. - *

- * The paths to the expanded archives will be stored in {@link #subTree1} and {@link #subTree2} - * and all the paths in {@link #subResults} will be within those new roots. - */ - List subResults = new ArrayList<>(); - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + (this.equal ? 1231 : 1237); - result = prime * result + ((this.p1 == null) ? 0 : this.p1.hashCode()); - result = prime * result + ((this.p2 == null) ? 0 : this.p2.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) - { - if (this == obj) return true; - if (obj == null) return false; - if (getClass() != obj.getClass()) return false; - Result other = (Result) obj; - if (this.equal != other.equal) return false; - if (this.p1 == null) - { - if (other.p1 != null) return false; - } - else if (!this.p1.equals(other.p1)) return false; - if (this.p2 == null) - { - if (other.p2 != null) return false; - } - else if (!this.p2.equals(other.p2)) return false; - return true; - } - - @Override - public String toString() - { - return String.format("Result[p1=%s, p2=%s, equal=%b]", p1, p2, equal); - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java deleted file mode 100644 index 6eddc194a1..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.io.OutputStream; -import java.util.Collection; - -/** - * Format a set of {@link Result} objects. - * - * @author Matt Ward - */ -public interface ResultFormatter -{ - /** - * Format the result set to the supplied {@link OutputStream}. The caller - * must take care of creating and destroying the OutputStream correctly. - * - * @param results The results to format. - * @param out The stream to format the results to. - */ - void format(ResultSet results, OutputStream out); -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java deleted file mode 100644 index a96a426569..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.alfresco.update.tool.dircomp; - -import java.util.ArrayList; -import java.util.List; - -/* - * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -public class ResultSet -{ - final List results = new ArrayList<>(); - public final Stats stats = new Stats(); - - /** - * Class for aggregating basic statistics relating to the directory tree comparisons. - *

- * For all counts, unless specified otherwise, if a file appears in both trees, it is - * counted only once, as it is relative files we are tracking regardless of which - * tree(s) they exist in. - */ - public static class Stats - { - /** - * The number of files (including directories) examined. - */ - public int resultCount; - /** - * The number of files discovered to have differences that are not allowed or ignored. - */ - public int differenceCount; - /** - * The number of files discovered to have differences, but the difference is allowed. - */ - public int suppressedDifferenceCount; - /** - * The number of files that were completely ignored due to being in the ignore list. - */ - public int ignoredFileCount; - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java deleted file mode 100644 index 52c7087cb6..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.TreeSet; - -/** - * Sorted set of {@link Path} objects that provides consistent - * cross-platform sort order. - * - * @see java.util.TreeSet - * @author Matt Ward - */ -public class SortedPathSet extends TreeSet -{ - private static final long serialVersionUID = 1L; - - public SortedPathSet() - { - super(new CaseSensitivePathComparator()); - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java deleted file mode 100644 index 0ec0aac001..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.alfresco.update.tool.dircomp; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.nio.file.Path; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * Format the org.alfresco.update.tool.dircomp.ResultSet as a set of files inside a zip file. - * - * Files that are equal are not added to the zip file. - * - * @author mrogers - */ -public class ZipResultFormatter implements ResultFormatter -{ - @Override - public void format(ResultSet resultSet, OutputStream out) - { - ZipOutputStream zos = (ZipOutputStream)out; - - for(Result result : resultSet.results) - { - if(!result.equal) - { - try - { - putFile(result.p1, zos); - putFile(result.p2, zos); - } - catch (IOException ie) - { - // Do nothing - } - } - } - } - - private void putFile(Path path, ZipOutputStream zos) throws IOException - { - - if(path != null) - { - byte[] buffer = new byte[1024]; - File file = path.toFile(); - if(file.isFile()) - { - ZipEntry zipEntry = new ZipEntry(getEntryName(path)); - zipEntry.setTime(file.lastModified()); - try (FileInputStream ins = new FileInputStream(file)) - { - zos.putNextEntry(zipEntry); - int len; - while ((len = ins.read(buffer)) > 0) - { - zos.write(buffer, 0, len); - } - zos.closeEntry(); - } - } - } - } - - private String getEntryName(Path path) - { - // eg differences/xml-data/foo/bar - return "differences" + path.normalize().toString().replace('\\', '/').trim(); - } - -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java deleted file mode 100644 index ebf1e4545f..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp.exception; - -import org.alfresco.update.tool.dircomp.FileTreeCompare; - -/** - * Exception class representing failures during file tree comparison. - * - * @see FileTreeCompare - * @author Matt Ward - */ -public class FileTreeCompareException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public FileTreeCompareException(String message) - { - super(message); - } - - public FileTreeCompareException(String message, Throwable cause) - { - super(message, cause); - } -} diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java deleted file mode 100644 index 259be63951..0000000000 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ /dev/null @@ -1,325 +0,0 @@ -/* - * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ - -import org.alfresco.update.tool.dircomp.FileTreeCompare; -import org.alfresco.update.tool.dircomp.FileTreeCompareImpl; -import org.alfresco.update.tool.dircomp.HtmlResultFormatter; -import org.alfresco.update.tool.dircomp.Result; -import org.alfresco.update.tool.dircomp.ResultSet; -import org.alfresco.update.tool.dircomp.ZipResultFormatter; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; -import java.util.zip.ZipOutputStream; - -import static org.junit.Assert.assertTrue; - -public class EndToEndIntegrationTest -{ - private final static String JAR_FILE_NAME = "alfresco-update-tool.jar"; - - File targetDir; - - private String getBasePath() - { - String basePath = System.getProperty("base.alfresco.instance"); - if (basePath == null) - { - basePath = "./test-data/base-alf-installation"; - } - File base = new File(targetDir, basePath); - assertTrue("base instance does not exist :" + base, base.exists()); - - return base.getAbsolutePath(); - } - - private String getThisPath() - { - String basePath = System.getProperty("this.alfresco.instance"); - if (basePath == null) - { - basePath = "./test-data/this-alf-installation"; - } - File base = new File(targetDir, basePath); - assertTrue("this instance (the one to update) does not exist :" + base, base.exists()); - - return base.getAbsolutePath(); - } - - private String getUpdatePath() - { - String basePath = System.getProperty("unpacked.update.package"); - if (basePath == null) - { - basePath = "./test-data/alfresco-one-update-package"; - } - File base = new File(targetDir, basePath); - assertTrue(base.isDirectory()); - assertTrue("the update package does not exist :" + base, base.exists()); - String[] dirs = base.list(); - assertTrue(dirs.length == 1); - - return new File(base, dirs[0]).getAbsolutePath(); - } - - private void initTargetDir() - { - String targetDir = System.getProperty("alfresco.target.dir"); - if (targetDir == null) - { - targetDir = "./target"; // test needs to be run in target dir. - } - this.targetDir = new File(targetDir); - assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); - } - - @Before - public void setUp() throws Exception - { - initTargetDir(); - } - - /** - * Compare an instance of alfresco that has been installed and - * then updated via the update package for the current build with a freshly - * installed instance of the current build. Some differences such as files containing - * the installation path are allowed. Other differences will be detected by the test. - *

- * The maven build installs two instances of alfresco, an instance that is - * to be updated update, ${base.alfresco.instance} - * and a reference instance, ${this.alfresco.instance} which is the - * current build. - *

- * The output of the test is a boolean pass/fail but as a side-effect a report - * of the test is also produced, installation-diff-report.html and - * installation-diff-report.zip. The zip file should be empty in a - * successful execution. If there are unexpected differences then these will - * be added to the zip file. - *

- * The patterns of files to [test | ignore | allow special processing] are currently - * contained within the FileTreeCompareImpl.java class as are the patterns allowed - * during special processing. - * - * @see FileTreeCompareImpl - */ - @Test - public void testEndToEndUpdate() throws Exception - { - File updateThisOne = new File(getBasePath()); - - File referenceInstance = new File(getThisPath()); - - File updatePackage = new File(getUpdatePath()); - - // Run the update - runUpdateTool(updateThisOne, updatePackage); - - // Run the diff tool - compare(referenceInstance, updateThisOne); - - } - - /** - * Run the update tool - */ - public void runUpdateTool(File instanceToUpdate, File updatePackage) throws Exception - { - // expect to find jar at "lib/alfresco-update-tool.jar" - File jar = new File(updatePackage, "lib/" + JAR_FILE_NAME); - assertTrue("lib/" + JAR_FILE_NAME, jar.exists()); - - // expect to find update resources - - String options = " --assumeyes -u " + updatePackage; - String cmd = "java -jar " + jar.getAbsolutePath() + options + " " + instanceToUpdate.getPath(); - - boolean found = runCommand( - targetDir, - cmd, - null, - 0, - "The update was successful" - ); - - assertTrue("The update was successful", found); - - } - - /** - * Run the diff tool - * - * @param freshInstallation - * @param updatedInstallation - */ - public void compare(File freshInstallation, File updatedInstallation) throws IOException - { - FileTreeCompare comparator = new FileTreeCompareImpl(); - ResultSet resultSet = comparator.compare(updatedInstallation.toPath(), freshInstallation.toPath()); - - File dircompDir = new File(targetDir, "installation-diff"); - dircompDir.mkdirs(); - - // Format the results as an HTML report. - File file = new File(dircompDir, "installation-diff-report.html"); - file.createNewFile(); - - HtmlResultFormatter formatter = new HtmlResultFormatter(); - formatter.setDifferencesOnly(true); - try(FileOutputStream fos = new FileOutputStream(file); - BufferedOutputStream bos = new BufferedOutputStream(fos)) - { - formatter.format(resultSet, bos); - } - - File zipFile = new File(dircompDir, "installation-diff-report.zip"); - zipFile.createNewFile(); - - ZipResultFormatter zformatter = new ZipResultFormatter(); - - try (FileOutputStream fos = new FileOutputStream(zipFile); - ZipOutputStream zos = new ZipOutputStream(fos)) - { - zformatter.format(resultSet, zos); - } - - - assertTrue("update test has found unexpected differences, see the installation-diff-report for further details", resultSet.stats.differenceCount == 0); - - } - - /** - * Utility/harness to allow easy testing of {@link #compare(File, File)}. - *

- * Uncomment @Ignore, but do not check in. - * - * @throws IOException - */ - @Ignore - @Test - public void bigDiff() throws IOException - { - Path path1 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b667"); - Path path2 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b669"); - - compare(path1.toFile(), path2.toFile()); - } - - /* - * Method to execute a command - * - * This variant of runCommand takes multiple expected messages. - * If a message is repeated twice in expectedMessage then the message must appear in - * the command line output at least twice to return true. - * - * @param targetLocation location for executing the command - * @param cmd the command to be executed - * @param input - input for command line prompts, may be null if not required - * @param expectedMessage... messages to be verified - * @param expectedReturnCode 0 for success - * @return true the messages are all found - * @throws IOException - */ - public boolean runCommand(File targetLocation, String cmd, String[] input, int expectedReturnCode, String... expectedMessage) throws IOException, InterruptedException - { - Runtime rt = Runtime.getRuntime(); - String line = null; - Process pr = rt.exec(cmd, null, targetLocation); - if(input != null && input.length > 0) - { - Input inputThread = new Input(pr.getOutputStream(), input); - inputThread.start(); - } - - ArrayList toFind = new ArrayList(); - for(int i = 0; i < expectedMessage.length; i++) - { - toFind.add(expectedMessage[i]); - } - - int found; - try (BufferedReader out = new BufferedReader(new InputStreamReader(pr.getInputStream()))) - { - while ((line = out.readLine()) != null) - { - found = -1; - for(int i = 0; i < toFind.size() ; i++) - { - if (line.contains(toFind.get(i))) - { - found = i; - } - } - System.out.println(line); - - if(found >= 0) - { - toFind.remove(found); - } - } - } - - int retCode = pr.waitFor(); - - if(retCode != expectedReturnCode) - { - System.out.println("Not expected return code expected:" + expectedReturnCode + " actual: " + retCode); - return false; - } - - if(toFind.size() == 0) - { - return true; - } - - System.out.println("Did not find expected message: " + toFind); - - return false; - } - - /** - * - */ - protected class Input extends Thread - { - OutputStream is; - String[] input; - - Input(OutputStream is, String[] input) - { - this.is = is; - this.input = input; - } - - public void run() - { - try (BufferedWriter in = new BufferedWriter(new OutputStreamWriter(is));) - { - for (String line : input) - { - in.write(line); - in.newLine(); - System.out.println("wrote : " + line); - } - } - catch (IOException e) - { - - } - } - } - - -} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java deleted file mode 100644 index 938ef2722a..0000000000 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ /dev/null @@ -1,415 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Date; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.apache.commons.io.FileUtils; -import org.junit.Before; -import org.junit.Test; -import org.springframework.util.AntPathMatcher; - -/** - * Tests for the {@link FileTreeCompareImpl} class. - * - * @author Matt Ward - */ -public class FileTreeCompareImplTest -{ - FileTreeCompareImpl comparator; - - @Before - public void setUp() throws Exception - { - comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); - } - - @Test - public void canGetSortedPathSet() throws IOException - { - Path tree = pathFromClasspath("dir_compare/simple_file_folders/tree1"); - SortedPathSet paths = comparator.sortedPaths(tree); - Iterator it = paths.iterator(); - - System.out.println("Paths:"); - for (Path p : paths) - { - System.out.println("\t"+p); - } - - assertEquals(11, paths.size()); - - assertEquals("a", unixPathStr(tree, it.next())); - assertEquals("b", unixPathStr(tree, it.next())); - assertEquals("b/blah.txt", unixPathStr(tree, it.next())); - assertEquals("c", unixPathStr(tree, it.next())); - assertEquals("c/c1", unixPathStr(tree, it.next())); - assertEquals("c/c1/commands.bat", unixPathStr(tree, it.next())); - assertEquals("c/c1/commands.sh", unixPathStr(tree, it.next())); - assertEquals("c/c2", unixPathStr(tree, it.next())); - assertEquals("c/c2/Aardvark.java", unixPathStr(tree, it.next())); - assertEquals("c/c2/Banana.java", unixPathStr(tree, it.next())); - assertEquals("d", unixPathStr(tree, it.next())); - } - - private String unixPathStr(Path root, Path path) - { - // Allow test to run on Windows also - String pathStr = path.toString(); - pathStr = pathStr.replace(File.separatorChar, '/'); - return pathStr; - } - - @Test - public void canDiffSimpleTreesOfFilesAndFolders() - { - Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); - Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); - - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - // One result for each relative file/folder - assertEquals(13, resultSet.results.size()); - assertEquals(13, resultSet.stats.resultCount); - - Iterator rit = resultSet.results.iterator(); - // TODO: currently all of the files are in one, other or both but where they - // are in both, the file *contents* are identical. - // TODO: evolve test data and functionality to cope with different file contents. - assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); - assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); - assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); - assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); - assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); - // Aardvark.java appears in both trees but is not the same! - assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); - assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); - assertResultEquals(tree1.resolve("d"), null, false, rit.next()); - assertResultEquals(null, tree2.resolve("e"), false, rit.next()); - } - - /** - * A "learning test" allowing me to check my assumptions and document the expected behaviour. - */ - @Test - public void testAntPathMatcher() - { - AntPathMatcher matcher = new AntPathMatcher(); - assertTrue(matcher.match("**/common/lib/**/*.pc", "prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); - assertFalse(matcher.match("**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); - assertTrue(matcher.match("/**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); - assertTrue(matcher.match("common/lib/**/*.pc", "common/lib/pkgconfig/Wand.pc")); - assertTrue(matcher.match("**/*.pc", "common/lib/pkgconfig/Wand.pc")); - assertFalse(matcher.match("*.pc", "common/lib/pkgconfig/Wand.pc")); - - assertTrue(matcher.match("libreoffice.app/Contents/Resources/bootstraprc", "libreoffice.app/Contents/Resources/bootstraprc")); - assertTrue(matcher.match("*.sh", "alfresco.sh")); - assertFalse(matcher.match("*.sh", "a/different/alfresco.sh")); - - // Windows matcher - // It seems that changing the path separator on an instance that's already been - // used isn't a good idea due to pattern caching. - matcher = new AntPathMatcher("\\"); - assertTrue(matcher.match("**\\common\\lib\\**\\*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); - assertTrue(matcher.match("\\**\\common\\lib\\**\\*.pc", "\\absolute\\prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); - - assertTrue(matcher.match("b\\blah.txt", "b\\blah.txt")); - } - - @Test - public void canIgnoreSpecifiedPaths() - { - Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); - Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); - - Set ignorePaths = new HashSet<>(); - ignorePaths.add(toPlatformPath("b/blah.txt")); - ignorePaths.add(toPlatformPath("c/c2/**")); - ignorePaths.add(toPlatformPath("d/**")); - ignorePaths.add(toPlatformPath("e/**")); - comparator = new FileTreeCompareImpl(ignorePaths, new HashSet()); - - // Perform the comparison - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - Iterator rit = resultSet.results.iterator(); - assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); - assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); - assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); - // No b/blah.txt here. - assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); - // No c/c2, c/c2/Aardvark.java, c/c2/Banana.java, d or e here. - - List results = resultSet.results; - assertResultNotPresent(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, results); - assertResultNotPresent(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, results); - assertResultNotPresent(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, results); - assertResultNotPresent(tree1.resolve("c/c2/Banana.java"), null, false, results); - assertResultNotPresent(tree1.resolve("d"), null, false, results); - assertResultNotPresent(null, tree2.resolve("e"), false, results); - assertEquals(7, results.size()); - - // TODO: What about paths within war/jar/zip files? - // ...at the moment, if we specify a path of "mydir/README.txt" to be ignored, - // this will be ignored in the main tree, e.g. /mydir/README.txt but also - // within sub-trees if there is a match, e.g. /mydir/README.txt - } - - @Test - public void canSpecifyFilesThatShouldHaveCertainDifferencesAllowed() throws IOException - { - Path tree1 = pathFromClasspath("dir_compare/allowed_differences/tree1"); - Path tree2 = pathFromClasspath("dir_compare/allowed_differences/tree2"); - - // Check that two identical trees are... identical! - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - assertEquals(0, resultSet.stats.differenceCount); - assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(4, resultSet.stats.resultCount); - assertEquals(4, resultSet.results.size()); - - // Now add files that are different only in there use of tree1 and tree2's absolute paths. - File t1File = new File(tree1.toFile(), "different.txt"); - t1File.deleteOnExit(); - FileUtils.write(t1File, sampleText(tree1.toAbsolutePath().toString())); - - File t2File = new File(tree2.toFile(), "different.txt"); - t2File.deleteOnExit(); - FileUtils.write(t2File, sampleText(tree2.toAbsolutePath().toString())); - - // Now add a module.properties that are different in their "installDate" property only. - File t3File = new File(tree1.toFile(), "module.properties"); - t3File.deleteOnExit(); - Date date = new Date(); - FileUtils.write(t3File, sampleModuleProperties("2016-02-29T16\\:26\\:18.053Z")); - - File t4File = new File(tree2.toFile(), "module.properties"); - t4File.deleteOnExit(); - FileUtils.write(t4File, sampleModuleProperties("2016-02-28T14\\:30\\:14.035Z")); - - - // Perform the comparison - comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); - resultSet = comparator.compare(tree1, tree2); - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - // We should see a difference - assertEquals(0, resultSet.stats.suppressedDifferenceCount); - assertEquals(2, resultSet.stats.differenceCount); - assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(6, resultSet.stats.resultCount); - assertEquals(6, resultSet.results.size()); - - Iterator rit = resultSet.results.iterator(); - assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), false, rit.next()); - - // Perform the comparison again, but after allowing the files to be different. - Set allowedDiffsPaths = new HashSet<>(); - allowedDiffsPaths.add(toPlatformPath("**/*.txt")); - allowedDiffsPaths.add(toPlatformPath("**/module.properties")); - - // Perform the comparison, this time with some allowed differences - comparator = new FileTreeCompareImpl(new HashSet(), allowedDiffsPaths); - resultSet = comparator.compare(tree1, tree2); - - // We should see a difference - but it is in the 'suppressed' list. - assertEquals(2, resultSet.stats.suppressedDifferenceCount); - assertEquals(0, resultSet.stats.differenceCount); - assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(6, resultSet.stats.resultCount); - assertEquals(6, resultSet.results.size()); - - rit = resultSet.results.iterator(); - assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), true, rit.next()); - } - - private String sampleText(String absPath) - { - StringBuilder sb = new StringBuilder(); - sb.append("This is some example text\n"); - sb.append("...in tree: "+absPath); - sb.append(" ...and here is some more text.\n"); - sb.append("...but wait! here's an absolute path again:"+absPath+", yes."); - sb.append("The End."); - return sb.toString(); - } - - private String sampleModuleProperties(String installDateAsString) - { - StringBuilder sb = new StringBuilder(); - sb.append("# " + installDateAsString + "\n"); - sb.append("module.id=org.alfresco.integrations.share.google.docs\n"); - sb.append("module.version=3.0.3\n"); - sb.append("module.buildnumber=4ent\n"); - sb.append("module.title=Alfresco / Google Docs Share Module\n"); - sb.append("module.description=The Share side artifacts of the Alfresco / Google Docs Integration.\n"); - sb.append("module.repo.version.min=5.0.0\n"); - sb.append("module.repo.version.max=5.99.99\n"); - sb.append("module.installState=INSTALLED\n"); - // this is the problem we are trying to solve - sb.append("module.installDate=" + installDateAsString + "\n"); - - return sb.toString(); - } - - @Test - public void canDiffTreesContainingWarFiles() - { - Path tree1 = pathFromClasspath("dir_compare/file_folders_plus_war/tree1"); - Path tree2 = pathFromClasspath("dir_compare/file_folders_plus_war/tree2"); - - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - // The 14 top-level results + 17 sub-results. - assertEquals(31, resultSet.stats.resultCount); - - // One result for each relative file/folder - assertEquals(14, resultSet.results.size()); - - - Iterator rit = resultSet.results.iterator(); - // TODO: currently all of the files are in one, other or both but where they - // are in both, the file *contents* are identical. - // TODO: evolve test data and functionality to cope with different file contents. - assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); - assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); - assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); - - // Examine the results of the war file comparison - Result result = rit.next(); - // The WAR files are different. - assertResultEquals( - tree1.resolve("b/alfresco-testdata-webapp.war"), - tree2.resolve("b/alfresco-testdata-webapp.war"), - false, - result); - List subResults = result.subResults; - System.out.println("subResults:"); - for (Result r : subResults) - { - System.out.println("\t"+r); - } - Iterator subIt = subResults.iterator(); - Path subTree1 = result.subTree1; - Path subTree2 = result.subTree2; - assertEquals(17, subResults.size()); - assertResultEquals(subTree1.resolve("META-INF"), subTree2.resolve("META-INF"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/MANIFEST.MF"), subTree2.resolve("META-INF/MANIFEST.MF"), false, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven"), subTree2.resolve("META-INF/maven"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy"), subTree2.resolve("META-INF/maven/org.alfresco.dummy"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), false, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF"), subTree2.resolve("WEB-INF"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes"), subTree2.resolve("WEB-INF/classes"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org"), subTree2.resolve("WEB-INF/classes/org"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco"), subTree2.resolve("WEB-INF/classes/org/alfresco"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), true, subIt.next()); - assertResultEquals(null, subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/Another.class"), false, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/web.xml"), subTree2.resolve("WEB-INF/web.xml"), true, subIt.next()); - assertResultEquals(subTree1.resolve("index.jsp"), subTree2.resolve("index.jsp"), false, subIt.next()); - - // Back up to the top-level comparisons - assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); - assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); - // Aardvark.java appears in both trees but is not the same! - assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); - assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); - assertResultEquals(tree1.resolve("d"), null, false, rit.next()); - assertResultEquals(null, tree2.resolve("e"), false, rit.next()); - } - - private void assertResultNotPresent(Path p1, Path p2, boolean contentEqual, List results) - { - Result r = new Result(); - r.p1 = p1; - r.p2 = p2; - r.equal = contentEqual; - assertFalse("Result should not be present: "+r, results.contains(r)); - } - - private void assertResultEquals(Path p1, Path p2, boolean contentEqual, Result result) - { - Result expected = new Result(); - expected.p1 = p1; - expected.p2 = p2; - expected.equal = contentEqual; - assertEquals(expected, result); - } - - private Path pathFromClasspath(String path) - { - try - { - return Paths.get(getClass().getClassLoader().getResource(path).toURI()); - } - catch (URISyntaxException error) - { - throw new RuntimeException(""); - } - } - - private String toPlatformPath(String path) - { - return path.replace("/", File.separator); - } -} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java deleted file mode 100644 index bd387646db..0000000000 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.io.BufferedOutputStream; -import java.io.ByteArrayOutputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.commons.io.FileUtils; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.springframework.util.AntPathMatcher; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -/** - * Tests for the {@link HtmlResultFormatter} class. - *

- * TODO: currently these aren't tests so much as useful utilities to help with manual testing. - * - * @author Matt Ward - */ -public class HtmlResultFormatterTest -{ - @Before - public void setUp() throws Exception - { - } - - @Test - public void canFormatToHTML() throws IOException - { - ResultSet resultSet = new ResultSet(); - List results = resultSet.results; - addResult(results, "/t1/a", "/t2/a", true); - addResult(results, "/t1/a/b", "/t2/a/b", true); - addResult(results, "/t1/a/c", "/t2/a/c", true); - addResult(results, "/t1/a/b/c/something.txt", "/t2/a/b/c/something.txt", true); - addResult(results, "/t1/a/b/c/another.txt", "/t2/a/b/c/another.txt", false); - addResult(results, null, "/t2/a/b/c/blah.txt", false); - addResult(results, "/t1/dir-only-in-p1", null, false); - addResult(results, null, "/t2/dir-only-in-p2", false); - - resultSet.stats.suppressedDifferenceCount = 2; - resultSet.stats.differenceCount = 4; - resultSet.stats.ignoredFileCount = 0; - resultSet.stats.resultCount = results.size(); - - try(ByteArrayOutputStream os = new ByteArrayOutputStream()) - { - HtmlResultFormatter formatter = new HtmlResultFormatter(); - formatter.format(resultSet, os); - System.out.println(os.toString()); - - // Uncomment to write to file -// Path file = Files.createTempFile(getClass().getSimpleName(), ".html"); -// FileUtils.write(file.toFile(), os.toString()); -// System.out.println("File: "+file); - } - } - - private void addResult(List results, String p1, String p2, boolean contentMatch) - { - Result r = new Result(); - r.p1 = p1 != null ? Paths.get(p1) : null; - r.p2 = p2 != null ? Paths.get(p2) : null; - r.equal = contentMatch; - results.add(r); - } -} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java deleted file mode 100644 index bca1660d28..0000000000 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.alfresco.update.tool.dircomp; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URL; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.zip.ZipOutputStream; - -import org.junit.Before; -import org.junit.Test; - -/** - * Tests for the {@link ZipResultFormatter} class. - *

- * - * @author Mark Rogers - */ -public class ZipResultFormatterTest -{ - @Before - public void setUp() throws Exception - { - } - - @Test - public void canFormatToZip() throws IOException - { - ResultSet resultSet = new ResultSet(); - List results = resultSet.results; - - URL srcDir = getClass().getClassLoader().getResource("dir_compare/allowed_differences/tree1"); - assertNotNull(srcDir.getPath()); - - File f = new File(srcDir.getPath()); - - File[] files = f.listFiles(); - for(File file : files) - { - addResult(results, file.getAbsolutePath(), null, false); - } - - resultSet.stats.suppressedDifferenceCount = 2; - resultSet.stats.differenceCount = 4; - resultSet.stats.ignoredFileCount = 0; - resultSet.stats.resultCount = results.size(); - - ZipResultFormatter zof = new ZipResultFormatter(); - - Path file = Files.createTempFile(getClass().getSimpleName(), ".zip"); - - File zipFile = file.toFile(); - zipFile.createNewFile(); - zipFile.deleteOnExit(); - - ZipResultFormatter zformatter = new ZipResultFormatter(); - - try (FileOutputStream fos = new FileOutputStream(zipFile); - ZipOutputStream zos = new ZipOutputStream(fos)) - { - zof.format(resultSet, zos); - } - - assertTrue(zipFile.length() > 0); - - } - - private void addResult(List results, String p1, String p2, boolean contentMatch) - { - Result r = new Result(); - r.p1 = p1 != null ? Paths.get(p1) : null; - r.p2 = p2 != null ? Paths.get(p2) : null; - r.equal = contentMatch; - results.add(r); - } - -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt deleted file mode 100644 index 69c3b8a81a..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt +++ /dev/null @@ -1,5 +0,0 @@ -Once upon -A time -Lived -A -Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt deleted file mode 100644 index 69c3b8a81a..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt +++ /dev/null @@ -1,5 +0,0 @@ -Once upon -A time -Lived -A -Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war deleted file mode 100644 index 8f1c6ac5f2deabd1b77d898a424608942540e5d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3162 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 TkUInd2R;r!*~Nf%hd}-V9Nxz3 diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat deleted file mode 100644 index fb7b3bb193..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat +++ /dev/null @@ -1,2 +0,0 @@ -echo Hello -echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh deleted file mode 100644 index 35d5edb327..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -echo hello -echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java deleted file mode 100644 index bf3d78b9f5..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Hello Aardvark!"); - } -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat deleted file mode 100644 index fb7b3bb193..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat +++ /dev/null @@ -1,2 +0,0 @@ -echo Hello -echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh deleted file mode 100644 index 35d5edb327..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -echo hello -echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java deleted file mode 100644 index 5733268500..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Aardvark!"); - } -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java deleted file mode 100644 index a9d5570d63..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Banana!"); - } -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt deleted file mode 100644 index 69c3b8a81a..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt +++ /dev/null @@ -1,5 +0,0 @@ -Once upon -A time -Lived -A -Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat deleted file mode 100644 index fb7b3bb193..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat +++ /dev/null @@ -1,2 +0,0 @@ -echo Hello -echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh deleted file mode 100644 index 35d5edb327..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -echo hello -echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java deleted file mode 100644 index bf3d78b9f5..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Hello Aardvark!"); - } -} diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml deleted file mode 100644 index bdbefa8ebe..0000000000 --- a/enterprise-update/assemblies/updateTool.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - update-tool - - zip - - - true - - - - - ${unpacked.update.tool}/bin - - - *.bat - - dos - - - - ${unpacked.update.tool}/bin - - - *.sh - - unix - - 0755 - - - - - ${unpacked.alfresco.platform.distribution} - resources/distribution/platform - - package.properties - - dos - - - - ${unpacked.alfresco.one.distribution} - resources/distribution/platform - - README.txt - - dos - - - - - ${unpacked.alfresco.platform.distribution} - resources/distribution/platform_only - - README.txt - package.properties - - dos - - - - - ${unpacked.alfresco.share.distribution} - resources/distribution/share_only - - README.txt - package.properties - - dos - - - - - ${unpacked.alfresco.platform.distribution}/bin - resources/distribution/common/bin - - alfresco-mmt.jar - alfresco-spring-encryptor.jar - - keep - - - - - ${unpacked.solr4.distribution}/archive-SpacesStore/conf - resources/distribution/common/solr4/archive-SpacesStore/conf - - schema.xml - - keep - - - - - ${unpacked.org.alfresco.aos.distribution} - resources/war - - *.war - - keep - - - - - ${unpacked.org.alfresco.aos.distribution} - resources/amp/platform - - *.amp - - keep - - - - ${unpacked.update.tool}/bin - lib - - *.jar - - - - - ${unpacked.update.tool} - - - README.txt - package.properties - - dos - - - - ${unpacked.update.script} - /resources/script - - *.auas - - keep - - - - - ${unpacked.alfresco.wcmqs.distribution} - resources/amp/platform - - alfresco-wcmqs.amp - - - - - ${unpacked.alfresco.wcmqs.distribution} - resources/amp/share - - alfresco-wcmqs-share.amp - - - - - ${unpacked.alfresco.wcmqs.distribution} - resources/war - - *.war - - - - - - - - - - false - true - resources/war - alfresco.war - - org.alfresco:alfresco-platform-enterprise:war - - - - - - false - true - resources/war - share.war - - org.alfresco:share:war - - - - - - false - true - resources/war - solr4.war - - org.alfresco:alfresco-solr4:war - - - - - - false - true - resources/amp/platform - - org.alfresco.integrations:alfresco-googledocs-repo:amp:enterprise:* - - - - - - false - true - resources/amp/platform - alfresco-share-services.amp - - org.alfresco:alfresco-share-services:amp:* - - - - - false - true - resources/amp/share - - org.alfresco.integrations:alfresco-googledocs-share:amp:enterprise:* - - - - - - diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml deleted file mode 100644 index 72f58ae528..0000000000 --- a/enterprise-update/pom.xml +++ /dev/null @@ -1,392 +0,0 @@ - - - 4.0.0 - - org.alfresco - alfresco-full-installation - 5.1.2-SNAPSHOT - - alfresco-one-update-package - jar - Alfresco One Update Package - - - ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} - ${project.build.directory}/dependency/wcmqs-${project.version} - ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} - ${project.build.directory}/dependency/alfresco-one-distribution-${project.version} - ${project.build.directory}/dependency/solr4-distribution-${project.version} - - - ${project.build.directory}/classes/script/${version.major}.${version.minor} - - - - - org.alfresco - alfresco-platform-enterprise - ${alfresco.platform.version} - war - - - - - org.alfresco - share - ${alfresco.share.version} - war - - - - - org.alfresco - alfresco-solr4 - ${alfresco.platform.version} - war - - - - - org.alfresco.integrations - alfresco-googledocs-repo - ${alfresco.googledocs.version} - enterprise - amp - - - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - enterprise - amp - - - - - org.alfresco - alfresco-share-services - ${alfresco.share.version} - amp - - - - org.alfresco - alfresco-wcmqs-distribution - ${alfresco.share.version} - zip - - - - - org.alfresco - alfresco-update-tool-distribution - ${alfresco.updatetool.version} - zip - - - - - org.alfresco - alfresco-one-platform-distributionzip - ${alfresco.platform.version} - zip - - - - - org.alfresco - alfresco-share-distribution - ${alfresco.share.version} - zip - - - - - org.alfresco - alfresco-one-distribution - ${project.version} - jar - - - - - org.alfresco - alfresco-solr4 - ${alfresco.platform.version} - config - zip - - - - - junit - junit - 4.12 - test - - - - - ${project.artifactId}-${installer.version.name} - src/main/java - - - src/main/resources - - - src/test/java - - - src/test/resources - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-wcmqs-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-wcmqs-distribution - ${alfresco.share.version} - zip - ${unpacked.alfresco.wcmqs.distribution} - - - - - - unpack-update-tool-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-update-tool-distribution - ${alfresco.updatetool.version} - true - zip - - - - - - unpack-alfresco-enterprise-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-one-platform-distributionzip - ${alfresco.platform.version} - true - zip - - - - - - unpack-alfresco-share-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-share-distribution - ${alfresco.share.version} - true - zip - - - - - - - unpack-aos-distribution - generate-resources - - unpack - - - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - true - zip - ${unpacked.org.alfresco.aos.distribution} - - - - - - - unpack-one-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-one-distribution - ${project.version} - true - jar - ${unpacked.alfresco.one.distribution} - - - - - - - unpack-solr4-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-solr4 - ${alfresco.platform.version} - config - true - zip - ${unpacked.solr4.distribution} - - - - - - - - - com.google.code.maven-replacer-plugin - replacer - 1.5.3 - - - prepare-package - - replace - - - - - ${unpacked.update.tool}/README.txt,${unpacked.update.tool}/package.properties - - - @Version@ - ${version} - - - @UpdateAssistantVersion@ - ${alfresco.updatetool.version} - - - - - - - maven-assembly-plugin - - - - update-tool - package - - single - - - - - false - - false - - assemblies/updateTool.xml - - - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - default-test - test - - test - - - - **/*IntegrationTest.java - - true - alphabetical - - - - integration-test - integration-test - - test - - - false - ${project.build.directory} - true - alphabetical - - none - - - **/*IntegrationTest.java - - - ${project.artifactId}-${installer.version.name}.zip - ${project.artifactId}-${installer.version.name}.tgz - ${project.build.directory} - - - - - - - - - diff --git a/enterprise-update/src/main/resources/script/5.0/update5-0.auas b/enterprise-update/src/main/resources/script/5.0/update5-0.auas deleted file mode 100644 index 078afab98c..0000000000 --- a/enterprise-update/src/main/resources/script/5.0/update5-0.auas +++ /dev/null @@ -1,5 +0,0 @@ -// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.0 -// update5-0.auas - -DELETE /tomcat/endorsed/xalan-2.7.2.jar -DELETE /tomcat/endorsed/serializer-2.7.2.jar \ No newline at end of file diff --git a/enterprise-update/src/main/resources/script/5.1/update5-1.auas b/enterprise-update/src/main/resources/script/5.1/update5-1.auas deleted file mode 100644 index 3910132c08..0000000000 --- a/enterprise-update/src/main/resources/script/5.1/update5-1.auas +++ /dev/null @@ -1,4 +0,0 @@ -// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.1 -// update5-1.auas - -// EMPTY AT THE MOMENT diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java deleted file mode 100644 index 5f2bde3940..0000000000 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2015-2015 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.packaging; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.IOException; -import java.util.Enumeration; -import java.util.Set; -import java.util.TreeSet; -import java.util.zip.ZipEntry; -import java.util.zip.ZipException; -import java.util.zip.ZipFile; - -import org.junit.Before; -import org.junit.Test; - -/** - * Update Package sanity tests. - *

- * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: - *

- *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
- * 
- * - * ...or similar, depending on current version etc. There probably is a better way. - * - * @author Matt Ward - */ -public class PackagingIntegrationTest -{ - private File updatePackage; - - @Before - public void setUp() throws Exception - { - String pkgName = System.getProperty("alfresco.update.package.zip"); - assertNotNull("Could not determine package name.", pkgName); - updatePackage = new File(pkgName); - } - - /** - * Test that the package structure within the update package - * is as expected. - *

- * In particular check the following paths exist. - *

    - *
  • /lib/alfresco-update-tool.jar
  • - *
  • /apply_updates.sh
  • - *
  • /apply_updates.bat
  • - *
  • /resources/war/alfresco.war
  • - *
  • /resources/war/share.war
  • - *
  • /resources/distribution/common/bin/alfresco-mmt.jar
  • - *
  • /resources/distribution/common/bin/alfresco-spring-encryptor.jar
  • - *
  • /resources/distribution/platform/README.txt
  • - *
- */ - @Test - public void testPackageStructureIsAsExpected() throws ZipException, IOException - { - // Check the package exists before we go any further - assertTrue("Update package does not exist.", updatePackage.exists()); - - Set paths = listFiles(updatePackage); - - assertTrue("too few paths in the update package", paths.size() > 3); - - String firstPath = (String)paths.toArray()[0]; - String dirs[] = firstPath.split("/"); - - // Are the binaries present? - assertPathPresent(paths, dirs[0] + "/lib/alfresco-update-tool.jar"); - assertPathPresent(paths, dirs[0] + "/apply_updates.sh"); - assertPathPresent(paths, dirs[0] + "/apply_updates.bat"); - - // Is the content sub-package present? - assertPathPresent(paths, dirs[0] + "/resources/war/alfresco.war"); - assertPathPresent(paths, dirs[0] + "/resources/war/share.war"); - - // Is the mmt in the correct place ? - assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-mmt.jar"); - assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); - - // Is the readme present ? - assertPathPresent(paths, dirs[0] + "/resources/distribution/platform/README.txt"); - - } - - private void assertPathPresent(Set pathsToCheck, String expectedPath) - { - assertTrue("Expected path to be present, but was not: "+expectedPath, - pathsToCheck.contains(expectedPath)); - } - - private Set listFiles(File file) throws ZipException, IOException - { - Set paths = new TreeSet(); - - ZipFile zipFile = new ZipFile(file); - try - { - Enumeration e = zipFile.entries(); - while (e.hasMoreElements()) - { - ZipEntry entry = e.nextElement(); - paths.add(entry.getName()); - } - } - finally - { - zipFile.close(); - } - return paths; - } -} - diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java deleted file mode 100644 index b0ff8da80f..0000000000 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.alfresco.update.pkg.test; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.File; - -import org.junit.Before; - -/** - * Abstract base class for tests. - * - * @author Matt Ward - */ -public abstract class AbstractIntegrationTest -{ - protected File targetDir; - - @Before - public void setUp() throws Exception - { - initTargetDir(); - } - - private void initTargetDir() - { - String targetDir = System.getProperty("alfresco.target.dir"); - if (targetDir == null) - { - targetDir = "./target"; // test needs to be run in target dir. - } - this.targetDir = new File(targetDir); - assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); - } - - - protected boolean runningOnWindows() - { - String os = System.getProperty("os.name").toLowerCase(); - - if (os.contains("windows")) - { - return true; - } - return false; - } -} diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java deleted file mode 100644 index c6df311657..0000000000 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2005-2015 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.pkg.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertNotNull; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Enumeration; - -import org.apache.commons.compress.archivers.ArchiveException; -import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.apache.commons.compress.archivers.zip.ZipFile; -import org.apache.commons.compress.compressors.CompressorException; -import org.junit.Before; -import org.junit.Test; - -/** - * Tests for the tgz format packaging. - * - * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: - *
- *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
- * 
- * - * @author Matt Ward - */ -public class ZipFormatIntegrationTest extends AbstractIntegrationTest -{ - File updatePackage; - - @Before - public void setUp() throws Exception - { - super.setUp(); - String pkgName = System.getProperty("alfresco.update.package.zip"); - assertNotNull("Could not determine package name.", pkgName); - updatePackage = new File(pkgName); - } - - /** - * Check that the apply_updates.sh script exists in the update package and - * that it has 0x755 permissions. In particular the +x bit needs to be - * set. - */ - @Test - public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException - { - assertTrue("File does not exist: "+ updatePackage, updatePackage.exists()); - try (ZipFile zipFile = new ZipFile(updatePackage)) - { - Enumeration e = zipFile.getEntries(); - boolean found = false; - while (!found && e.hasMoreElements()) - { - ZipArchiveEntry entry = e.nextElement(); - File f = new File(entry.getName()); - if (f.getName().equalsIgnoreCase("apply_updates.sh")) - { - found = true; - System.out.println("Found the unix shell wrapper script."); - final int expectedPerms = 0755; - // Other bits may be set, but check 755 octal are set. - System.out.println("File has permissions: "+Integer.toString(entry.getUnixMode(), 8)); - assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); - } - } - } - } -} diff --git a/pom.xml b/pom.xml index 88bee1adcc..94e3d8d2d2 100644 --- a/pom.xml +++ b/pom.xml @@ -21,9 +21,6 @@ 3.0.3 - - 1.0-SNAPSHOT - 1.1.1 @@ -57,9 +54,6 @@ alfresco-community ${alfresco.package.name}-distribution - - - https://releases.alfresco.com/Enterprise-5.1/5.1.0/AlfrescoOne/build-00019/ALL/alfresco-one-installer-201603-linux-x64.bin @@ -83,16 +77,9 @@ enterprise-war-for-ear ear enterprise-distribution - enterprise-update enterprise-installer
- - update-test - - enterprise-update-test - - release From 7497e828c871f23b278cb15beaa4e9f304e70811 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 6 May 2016 10:24:41 +0000 Subject: [PATCH 448/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) (RECORD ONLY) : - 126227 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126228 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From b5dc191022fe3342a938334d90b25f7476d4f4fc Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 6 May 2016 10:30:06 +0000 Subject: [PATCH 449/670] Merged 5.2.N (5.2.1) to trunk (5.2) 126229 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 126219 adavis: Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (PARTIAL MERGE) 126218 adavis: Merged 5.0.3 (5.0.3.5) to 5.0.N (5.0.4) 126215 adavis: Removal of the Update Assistant git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@126230 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-update-test/mer.bat | 1 - enterprise-update-test/pom.xml | 319 -------------- .../dircomp/CaseSensitivePathComparator.java | 28 -- .../update/tool/dircomp/FileTreeCompare.java | 22 - .../tool/dircomp/FileTreeCompareImpl.java | 402 ----------------- .../tool/dircomp/HtmlResultFormatter.java | 170 ------- .../alfresco/update/tool/dircomp/Result.java | 95 ---- .../update/tool/dircomp/ResultFormatter.java | 28 -- .../update/tool/dircomp/ResultSet.java | 44 -- .../update/tool/dircomp/SortedPathSet.java | 28 -- .../tool/dircomp/ZipResultFormatter.java | 73 --- .../exception/FileTreeCompareException.java | 31 -- .../test/java/EndToEndIntegrationTest.java | 325 -------------- .../tool/dircomp/FileTreeCompareImplTest.java | 415 ------------------ .../tool/dircomp/HtmlResultFormatterTest.java | 85 ---- .../tool/dircomp/ZipResultFormatterTest.java | 82 ---- .../allowed_differences/tree1/x/story.txt | 5 - .../allowed_differences/tree1/y/blah.txt | 2 - .../allowed_differences/tree2/x/story.txt | 5 - .../allowed_differences/tree2/y/blah.txt | 2 - .../tree1/b/alfresco-testdata-webapp.war | Bin 3162 -> 0 bytes .../file_folders_plus_war/tree1/b/blah.txt | 2 - .../tree1/c/c1/commands.bat | 2 - .../tree1/c/c1/commands.sh | 4 - .../tree1/c/c2/Aardvark.java | 7 - .../tree1/c/c2/Banana.java | 7 - .../file_folders_plus_war/tree2/a/story.txt | 5 - .../tree2/b/alfresco-testdata-webapp.war | Bin 3726 -> 0 bytes .../file_folders_plus_war/tree2/b/blah.txt | 2 - .../tree2/c/c1/commands.bat | 2 - .../tree2/c/c1/commands.sh | 4 - .../tree2/c/c2/Aardvark.java | 7 - .../simple_file_folders/tree1/b/blah.txt | 2 - .../tree1/c/c1/commands.bat | 2 - .../tree1/c/c1/commands.sh | 4 - .../tree1/c/c2/Aardvark.java | 7 - .../tree1/c/c2/Banana.java | 7 - .../simple_file_folders/tree2/a/story.txt | 5 - .../simple_file_folders/tree2/b/blah.txt | 2 - .../tree2/c/c1/commands.bat | 2 - .../tree2/c/c1/commands.sh | 4 - .../tree2/c/c2/Aardvark.java | 7 - enterprise-update/assemblies/updateTool.xml | 239 ---------- enterprise-update/pom.xml | 392 ----------------- .../main/resources/script/5.0/update5-0.auas | 5 - .../main/resources/script/5.1/update5-1.auas | 4 - .../packaging/PackagingIntegrationTest.java | 122 ----- .../pkg/test/AbstractIntegrationTest.java | 47 -- .../pkg/test/ZipFormatIntegrationTest.java | 78 ---- pom.xml | 13 - 50 files changed, 3146 deletions(-) delete mode 100644 enterprise-update-test/mer.bat delete mode 100644 enterprise-update-test/pom.xml delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java delete mode 100644 enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java delete mode 100644 enterprise-update-test/src/test/java/EndToEndIntegrationTest.java delete mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java delete mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java delete mode 100644 enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Aardvark.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/c/c2/Banana.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/a/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/alfresco-testdata-webapp.war delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh delete mode 100644 enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java delete mode 100644 enterprise-update/assemblies/updateTool.xml delete mode 100644 enterprise-update/pom.xml delete mode 100644 enterprise-update/src/main/resources/script/5.0/update5-0.auas delete mode 100644 enterprise-update/src/main/resources/script/5.1/update5-1.auas delete mode 100644 enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java delete mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java delete mode 100644 enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java diff --git a/enterprise-update-test/mer.bat b/enterprise-update-test/mer.bat deleted file mode 100644 index 5626a8ec94..0000000000 --- a/enterprise-update-test/mer.bat +++ /dev/null @@ -1 +0,0 @@ -mvn install -Dthis.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe -Dbase.installer.location=c:\demo\alfresco-one-installer-20160203-SNAPSHOT-664-win-x64.exe diff --git a/enterprise-update-test/pom.xml b/enterprise-update-test/pom.xml deleted file mode 100644 index 99cd8a3b94..0000000000 --- a/enterprise-update-test/pom.xml +++ /dev/null @@ -1,319 +0,0 @@ - - 4.0.0 - alfresco-enterprise-update-test - End to end test of the installer and update - - org.alfresco - alfresco-full-installation - 5.2-SNAPSHOT - - - - - - - https://nightlybuilds.alfresco.com/Enterprise-5.2/5.2/LATEST/ALL/alfresco-one-installer-LATEST-linux-x64.bin - - - ${project.build.directory}/test-data/base-alf-installation - ${project.build.directory}/test-data/this-alf-installation - - --mode unattended --alfresco_admin_password admin --jdbc_username alfresco --jdbc_password alfresco - --tomcat_server_domain ${HOSTNAME} --disable-components postgres --enable-components javaalfresco,libreofficecomponent,alfrescosolr,alfrescosolr4,aosmodule,alfrescowcmqs,alfrescogoogledocs - --alfrescocustomstack_services_startup demand - - - ${project.build.directory}/test-data/alfresco-one-update-package - - - - - - - junit - junit - 4.12 - test - - - - de.schlichtherle.truezip - truezip-driver-zip - 7.7.9 - - - de.schlichtherle.truezip - truezip-file - 7.7.9 - - - commons-io - commons-io - 2.4 - - - org.apache.logging.log4j - log4j-api - 2.3 - - - org.apache.logging.log4j - log4j-core - 2.3 - - - - org.springframework - spring-core - 4.2.4.RELEASE - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.5.1 - - 1.7 - 1.7 - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - default-test - test - - test - - - - - **/*IntegrationTest.java - org/alfresco/update/**/*Test.java - - true - alphabetical - - - - - - - - - - update-assistant-tests - - false - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - - unpack-update-package - pre-integration-test - - unpack - - - - - org.alfresco - alfresco-one-update-package - ${project.version} - true - ${unpacked.update.package} - zip - - - - - - - - - - maven-antrun-plugin - - - fetch-installer - pre-integration-test - - run - - - - - - - - - - - - - - Is base.installer.version provided ? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Downloading Base Alfresco installer ${base.installer.version}... - - - - Installing the base Version of Alfresco... to ${base.alfresco.instance} - - - - - - - - - - - - - - - - - - - Installing newly generated version of Alfresco... - - - - - - - - - - - org.apache.ant - ant-jsch - 1.8.2 - - - ant-contrib - ant-contrib - 1.0b3 - - - ant - ant - - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - default-test - test - - test - - - - **/*IntegrationTest.java - - true - alphabetical - - - - integration-test - integration-test - - test - - - false - ${project.build.directory} - true - alphabetical - - none - - - **/*IntegrationTest.java - - - ${project.artifactId}-${installer.version.name}.zip - ${project.build.directory} - ${alfresco.update.package} - ${project.build.directory} - ${this.alfresco.instance} - ${base.alfresco.instance} - - - - - - - - - - - diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java deleted file mode 100644 index 56c03633ba..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/CaseSensitivePathComparator.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.Comparator; - -/** - * Provides a platform agnostic and consistent sorting mechanism - * for {@link java.nio.file.Path} objects. - * - * @author Matt Ward - */ -public class CaseSensitivePathComparator implements Comparator -{ - @Override - public int compare(Path p1, Path p2) - { - String pathStr1 = p1.toString(); - String pathStr2 = p2.toString(); - return pathStr1.compareTo(pathStr2); - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java deleted file mode 100644 index 4c164402df..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompare.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.List; - - -/** - * File tree comparison tool interface. - * - * @author Matt Ward - */ -public interface FileTreeCompare -{ - ResultSet compare(Path p1, Path p2); -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java deleted file mode 100644 index c26067694a..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/FileTreeCompareImpl.java +++ /dev/null @@ -1,402 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import de.schlichtherle.truezip.file.TArchiveDetector; -import de.schlichtherle.truezip.file.TConfig; -import de.schlichtherle.truezip.file.TFile; -import de.schlichtherle.truezip.file.TVFS; -import de.schlichtherle.truezip.fs.archive.zip.ZipDriver; -import de.schlichtherle.truezip.socket.sl.IOPoolLocator; -import org.alfresco.update.tool.dircomp.exception.FileTreeCompareException; -import org.apache.commons.io.FileUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.springframework.util.AntPathMatcher; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * Class capable of comparing two trees of files to determine which directories or - * files appear in one tree and not the other, or whether a file that appears in - * both has differences in its content. - * - * @author Matt Ward - */ -public class FileTreeCompareImpl implements FileTreeCompare -{ - private static final Logger log = LogManager.getLogger(FileTreeCompareImpl.class); - private final Set ignorePaths = new HashSet<>(); - private final Set allowedDiffsPaths = new HashSet<>(); - private final AntPathMatcher pathMatcher = new AntPathMatcher(File.separator); - - public FileTreeCompareImpl() - { - this(null, null); - } - - public FileTreeCompareImpl(Set ignorePaths, Set allowedDiffsPaths) - { - // This config MUST be present before any TFile objects etc. are created. - TConfig config = TConfig.get(); - config.setArchiveDetector(new TArchiveDetector("war|jar|amp", new ZipDriver(IOPoolLocator.SINGLETON))); - if (ignorePaths == null) - { - // Add default ignores - ignorePaths = new HashSet<>(); - ignorePaths.add(toPlatformPath("alf_data/postgresql/**")); - ignorePaths.add(toPlatformPath("alf_data/oouser/user/**")); - ignorePaths.add(toPlatformPath("alf_data/solr/*.war")); - ignorePaths.add(toPlatformPath("common/**")); - ignorePaths.add(toPlatformPath("META-INF/MANIFEST.MF")); - ignorePaths.add(toPlatformPath("META-INF/maven/**")); - ignorePaths.add(toPlatformPath("licenses/notice.txt")); - ignorePaths.add(toPlatformPath("uninstall.app/**")); - ignorePaths.add(toPlatformPath("uninstall/**")); - ignorePaths.add(toPlatformPath("uninstall.exe")); - ignorePaths.add(toPlatformPath("uninstall.dat")); - ignorePaths.add(toPlatformPath("libreoffice.app/**")); - ignorePaths.add(toPlatformPath("libreoffice/**")); - ignorePaths.add(toPlatformPath("java/**")); - ignorePaths.add(toPlatformPath("applied-updates/**")); - ignorePaths.add(toPlatformPath("~build/**")); - ignorePaths.add(toPlatformPath("properties.ini")); - ignorePaths.add(toPlatformPath("**/log.txt")); - ignorePaths.add(toPlatformPath("**/solrcore.properties")); - ignorePaths.add(toPlatformPath("**/modifications.install")); - ignorePaths.add(toPlatformPath("tomcat/webapps/ROOT.war")); - - // Temp fix for the fall-out for MNT-15874 - ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco-global.properties")); - - // Temp fix for PostGress SNAPSHOT upgrade on 5.2 - ignorePaths.add(toPlatformPath("tomcat/lib/postgresql-9.4-1201-jdbc41.jar")); - ignorePaths.add(toPlatformPath(" tomcat/lib/postgresql-9.4.1208.jre7.jar")); - - // Ignore for 5.1 MNT-14307 - ignorePaths.add(toPlatformPath("tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml")); - - - } - if (allowedDiffsPaths == null) - { - // Add default paths where certain differences are allowed, e.g. absolute path references. - allowedDiffsPaths = new HashSet<>(); - allowedDiffsPaths.add(toPlatformPath("common/bin/**")); - allowedDiffsPaths.add(toPlatformPath("common/include/**/*.h")); - allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.pc")); - allowedDiffsPaths.add(toPlatformPath("common/lib/**/*.la")); - allowedDiffsPaths.add(toPlatformPath("libreoffice.app/Contents/Resources/bootstraprc")); - allowedDiffsPaths.add(toPlatformPath("postgresql/bin/**")); - allowedDiffsPaths.add(toPlatformPath("**/*.sh")); - allowedDiffsPaths.add(toPlatformPath("**/*.bat")); - allowedDiffsPaths.add(toPlatformPath("**/*.ini")); - allowedDiffsPaths.add(toPlatformPath("**/*.properties")); - allowedDiffsPaths.add(toPlatformPath("**/*.xml")); - allowedDiffsPaths.add(toPlatformPath("**/*.sample")); - allowedDiffsPaths.add(toPlatformPath("**/*.txt")); - allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr4.xml")); - allowedDiffsPaths.add(toPlatformPath("tomcat/conf/Catalina/localhost/solr.xml")); - } - this.ignorePaths.addAll(ignorePaths); - this.allowedDiffsPaths.addAll(allowedDiffsPaths); - } - - private String toPlatformPath(String path) - { - return path.replace("/", File.separator); - } - - @Override - public ResultSet compare(Path p1, Path p2) - { - ResultSet resultSet = new ResultSet(); - try - { - compare(resultSet.stats, resultSet.results, p1, p2); - } - catch (Exception e) - { - throw new FileTreeCompareException("Unable to compare file trees.", e); - } - return resultSet; - } - - private void compare(ResultSet.Stats stats, List results, Path tree1, Path tree2) throws IOException - { - SortedPathSet set1 = sortedPaths(tree1); - SortedPathSet set2 = sortedPaths(tree2); - - SortedPathSet all = new SortedPathSet(); - all.addAll(set1); - all.addAll(set2); - - for (Path pathToFind : all) - { - if (pathMatchesIgnorePattern(pathToFind)) - { - // Skip paths that we don't want to examine, e.g. tomcat/temp - log.debug("Skipping path: "+pathToFind); - stats.ignoredFileCount++; - continue; - } - - Result result = new Result(); - results.add(result); - stats.resultCount++; - - if (set1.contains(pathToFind) && set2.contains(pathToFind)) - { - log.debug("In both: "+pathToFind); - // Set the results, translating paths back to absolute as required. - result.p1 = tree1.resolve(pathToFind); - result.p2 = tree2.resolve(pathToFind); - boolean contentMatches = false; - if (Files.isRegularFile(result.p1) && Files.isRegularFile(result.p2)) - { - contentMatches = FileUtils.contentEquals(result.p1.toFile(), result.p2.toFile()); - if (!contentMatches) - { - if (pathMatchesAllowedDiffsPattern(pathToFind)) - { - File f1 = preprocessFile(tree1, result.p1.toFile()); - File f2 = preprocessFile(tree2, result.p2.toFile()); - contentMatches = FileUtils.contentEquals(f1, f2); - // Delete the files now that we no longer need them. The originals are still available. - f1.delete(); - f2.delete(); - if (contentMatches) - { - // If the preprocessed files match, then although the files didn't - // match when first compared byte-for-byte, they do match as far as we are concerned. - // But add to the stats that this is what has happened. - stats.suppressedDifferenceCount++; - } - } - else if (isSpecialArchive(pathToFind)) - { - Path archive1 = extract(result.p1); - Path archive2 = extract(result.p2); - result.subTree1 = archive1; - result.subTree2 = archive2; - final int diffBefore = stats.differenceCount; - compare(stats, result.subResults, archive1, archive2); - final int diffAfter = stats.differenceCount; - if (diffAfter == diffBefore) - { - // No significant differences were found in the (recursive) subtree comparison. - // We can therefore mark the special archive files matching in both trees. - contentMatches = true; - } - } - } - - } - else if (Files.isDirectory(result.p1) && Files.isDirectory(result.p2)) - { - // Two directories are counted as the same. - contentMatches = true; - } - result.equal = contentMatches; - } - else if (set1.contains(pathToFind)) - { - log.debug("In tree1 only: "+pathToFind); - result.p1 = tree1.resolve(pathToFind); - result.p2 = null; - } - else if (set2.contains(pathToFind)) - { - log.debug("In tree2 only: "+pathToFind); - result.p1 = null; - result.p2 = tree2.resolve(pathToFind); - } - else - { - throw new IllegalStateException( - "Something went wrong. The path is not found in either tree: "+pathToFind); - } - - if (!result.equal) - { - stats.differenceCount++; - } - } - } - - private File preprocessFile(Path tree, File orig) throws IOException - { - // Create a set of replacements that we intend to make. Replacing them with - // a known token allows us to remove differences (that we're not interested in) in the files. - Map replacements = new HashMap<>(); - replacements.put(tree.toRealPath().toString(), replacementToken("comparison_root")); - - // Create a pattern for module.installDate - Pattern installDatePattern = Pattern.compile("module.installDate=.*[\n\r\f]*$"); - Pattern commentPattern = Pattern.compile("^#.*"); - - File processed = Files.createTempFile(orig.getName(), ".tmp").toFile(); - try(Reader r = new FileReader(orig); - BufferedReader br = new BufferedReader(r); - Writer w = new FileWriter(processed); - PrintWriter pw = new PrintWriter(w)) - { - String line; - - while ((line = br.readLine()) != null) - { - for (String replKey : replacements.keySet()) - { - String replVal = replacements.get(replKey); - line = line.replace(replKey, replVal); - } - Matcher m = installDatePattern.matcher(line); - if(m.matches()) - { - // replace module.installDate - line = m.replaceFirst("module.installDate="); - } - Matcher cp = commentPattern.matcher(line); - if(cp.matches()) - { - // replace module.installDate - line = "# {comment suppressed}\n"; - } - - pw.println(line); - } - } - return processed; - } - - private String replacementToken(String label) - { - return String.format("@$@$@$@${{TREE_COMPARE_%s}}", label); - } - - private boolean isSpecialArchive(Path pathToFind) - { - return pathToFind.getFileName().toString().toLowerCase().endsWith(".war") || - pathToFind.getFileName().toString().toLowerCase().endsWith(".jar") || - pathToFind.getFileName().toString().toLowerCase().endsWith(".amp"); - } - - /** - * If the set of paths to allow certain differences ({@link #allowedDiffsPaths}) - * contains a pattern matching the specified path, then true is returned. - *

- * Patterns are ant-style patterns. - * - * @param path The path to check - * @return True if there is a pattern in the allowedDiffsPaths set matching the path. - */ - private boolean pathMatchesAllowedDiffsPattern(String path) - { - return pathMatchesPattern(path, allowedDiffsPaths); - } - - /** - * @see #pathMatchesAllowedDiffsPattern(String) - */ - private boolean pathMatchesAllowedDiffsPattern(Path path) - { - return pathMatchesAllowedDiffsPattern(path.toString()); - } - - /** - * If the set of paths to ignore ({@link #ignorePaths}) contains - * a pattern matching the specified path, then true is returned. - *

- * Patterns are ant-style patterns. - * - * @param path The path to check - * @return True if there is a path in the ignorePaths set that is a prefix of the path. - */ - private boolean pathMatchesIgnorePattern(String path) - { - return pathMatchesPattern(path, ignorePaths); - } - - /** - * @see #pathMatchesIgnorePattern(String) - */ - private boolean pathMatchesIgnorePattern(Path path) - { - return pathMatchesIgnorePattern(path.toString()); - } - - private boolean pathMatchesPattern(String path, Set patterns) - { - for (String pattern : patterns) - { - if (pathMatcher.match(pattern, path)) - { - return true; - } - } - return false; - } - - private Path extract(Path archivePath) throws IOException - { - String destDirName = archivePath.getFileName().toString(); - Path dest = Files.createTempDirectory(destDirName); - extract(archivePath, dest); - return dest; - } - - private void extract(Path archivePath, Path destPath) throws IOException - { - TFile archive = new TFile(archivePath.toFile()); - TFile dest = new TFile(destPath.toFile(), TArchiveDetector.NULL); - try - { - // Unzip the archive. - archive.cp_rp(dest); - } - finally - { - TVFS.umount(archive); - TVFS.umount(dest); - } - } - - /** - * Traverse path and create a {@link SortedPathSet} containing the set - * of paths encountered. The {@link Path} instances are relative to - * the base path provided as a parameter to this method. - * - * @param path The path to traverse. - * @return SortedPathSet - * @throws IOException - */ - protected SortedPathSet sortedPaths(Path path) throws IOException - { - SortedPathSet sortedPaths = new SortedPathSet(); - collectPaths(sortedPaths, path, path.toFile()); - return sortedPaths; - } - - private void collectPaths(SortedPathSet sortedSet, Path root, File path) throws IOException - { - for (File f : path.listFiles()) - { - Path relativePath = root.relativize(f.toPath()); - sortedSet.add(relativePath); - if (f.isDirectory()) - { - collectPaths(sortedSet, root, f); - } - } - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java deleted file mode 100644 index ec8fa8ebc1..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/HtmlResultFormatter.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.io.OutputStream; -import java.io.PrintWriter; -import java.util.List; - -/** - * Format results as HTML. - * - * @author Matt Ward - */ -public class HtmlResultFormatter implements ResultFormatter -{ - private int maxPathDisplayLength = 50; - private boolean differencesOnly; - - - @Override - public void format(ResultSet resultSet, OutputStream out) - { - boolean failed = resultSet.stats.differenceCount > 0; - - try(PrintWriter pw = new PrintWriter(out)) - { - pw.println(""); - pw.println(""); - pw.println(""); - pw.println("File tree comparison results"); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println("

"); - - String passOrFail; - String alertClass; - if (failed) - { - alertClass = "alert-danger"; - passOrFail = "FAILED"; - } - else - { - alertClass = "alert-success"; - passOrFail = "PASSED"; - } - - pw.println("
\n" + - "

Fresh installation vs updated installation Diff tool results

\n" + - "
"); - pw.println("
"); - pw.println("

Status: "+passOrFail+"

"); - pw.println("

Files examined: "+resultSet.stats.resultCount+"

"); - pw.println("

Files with differences: "+resultSet.stats.differenceCount+"

"); - pw.println("

Files with allowed differences: "+resultSet.stats.suppressedDifferenceCount+"

"); - pw.println("

Ignored files: "+resultSet.stats.ignoredFileCount+"

"); - pw.println("
"); - outputResultsTable(resultSet.results, pw, 0); - - pw.println("
"); - pw.println(""); - pw.println(""); - } - } - - private void outputResultsTable(List results, PrintWriter pw, int row) - { - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - pw.println(""); - - for (Result r : results) - { - ++row; - - outputResult(pw, row, r); - - if (!r.subResults.isEmpty()) - { - // Only show the subresults if there are - if (!differencesOnly || !r.equal) - { - pw.println(""); - } - } - } - - pw.println(""); - pw.println("
#Updated installFresh install
 "); - outputResultsTable(r.subResults, pw, row); - pw.println("
"); - } - - private void outputResult(PrintWriter pw, int row, Result r) - { - if (differencesOnly && r.equal) - { - return; - } - pw.println(""); - - pw.println(""+row+""); - - String p1 = (r.p1 == null) ? "" : r.p1.toString(); - String p1Abbr = abbreviate(p1, maxPathDisplayLength); - String p2 = (r.p2 == null) ? "" : r.p2.toString(); - String p2Abbr = abbreviate(p2, maxPathDisplayLength); - - // TODO: URL/HTML-encode as appropriate - String diffClass; - if (r.equal) - { - if (r.subResults.isEmpty()) - { - // Result refers to a normal file or directory. - diffClass = "info"; - } - else - { - // File is a special archive, but no differences in the sub-results are considered important. - diffClass = "warning"; - } - } - else - { - // The file/directory appears different in each tree. If it is a special archive, then there - // are differences that we care about. - diffClass = "danger"; - } - - pw.println( - String.format("%s%s", - diffClass, - p1, - p1Abbr, - diffClass, - p2, - p2Abbr)); - - pw.println(""); - } - - private String abbreviate(String str, int maxLength) - { - return (str.length() > maxLength) ? "..."+str.substring(str.length()-maxLength) : str; - } - - public void setMaxPathDisplayLength(int maxPathDisplayLength) - { - this.maxPathDisplayLength = maxPathDisplayLength; - } - - public void setDifferencesOnly(boolean differencesOnly) - { - this.differencesOnly = differencesOnly; - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java deleted file mode 100644 index 355cebb239..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/Result.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; - -/** - * Simple struct-style result data class. - * - * @author Matt Ward - */ -public final class Result -{ - /** - * The path within tree1 being compared (intended to be the updated Alfresco installation). - *

- * This field will be null if the file in question appears only in the tree2. - */ - Path p1; - /** - * The path within tree2 being compared (intended to be the freshly installed equivalent of {@link #p1}). - *

- * This field will be null if the file in question appears only in the tree1. - */ - Path p2; - /** - * Are the paths in {@link #p1} and {@link #p2} of identical content? If they refer to a directory, then - * equal in this sense is to have the same directory name. If they refer to a plain file, then equal means - * that they contain the exact same contents. - */ - boolean equal; - /** - * The root path of sub-tree1 to which {@link #subResults} refers. - * @see #subResults - */ - Path subTree1; - /** - * The root path of sub-tree2 to which {@link #subResults} refers. - * @see #subResults - */ - Path subTree2; - /** - * If p1 and p2 refer to a special archive with differences, e.g. they refer to alfresco.war, - * then a deep comparison of the archives will be performed and the results stored here. - *

- * The paths to the expanded archives will be stored in {@link #subTree1} and {@link #subTree2} - * and all the paths in {@link #subResults} will be within those new roots. - */ - List subResults = new ArrayList<>(); - - @Override - public int hashCode() - { - final int prime = 31; - int result = 1; - result = prime * result + (this.equal ? 1231 : 1237); - result = prime * result + ((this.p1 == null) ? 0 : this.p1.hashCode()); - result = prime * result + ((this.p2 == null) ? 0 : this.p2.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) - { - if (this == obj) return true; - if (obj == null) return false; - if (getClass() != obj.getClass()) return false; - Result other = (Result) obj; - if (this.equal != other.equal) return false; - if (this.p1 == null) - { - if (other.p1 != null) return false; - } - else if (!this.p1.equals(other.p1)) return false; - if (this.p2 == null) - { - if (other.p2 != null) return false; - } - else if (!this.p2.equals(other.p2)) return false; - return true; - } - - @Override - public String toString() - { - return String.format("Result[p1=%s, p2=%s, equal=%b]", p1, p2, equal); - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java deleted file mode 100644 index 6eddc194a1..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultFormatter.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.io.OutputStream; -import java.util.Collection; - -/** - * Format a set of {@link Result} objects. - * - * @author Matt Ward - */ -public interface ResultFormatter -{ - /** - * Format the result set to the supplied {@link OutputStream}. The caller - * must take care of creating and destroying the OutputStream correctly. - * - * @param results The results to format. - * @param out The stream to format the results to. - */ - void format(ResultSet results, OutputStream out); -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java deleted file mode 100644 index a96a426569..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ResultSet.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.alfresco.update.tool.dircomp; - -import java.util.ArrayList; -import java.util.List; - -/* - * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -public class ResultSet -{ - final List results = new ArrayList<>(); - public final Stats stats = new Stats(); - - /** - * Class for aggregating basic statistics relating to the directory tree comparisons. - *

- * For all counts, unless specified otherwise, if a file appears in both trees, it is - * counted only once, as it is relative files we are tracking regardless of which - * tree(s) they exist in. - */ - public static class Stats - { - /** - * The number of files (including directories) examined. - */ - public int resultCount; - /** - * The number of files discovered to have differences that are not allowed or ignored. - */ - public int differenceCount; - /** - * The number of files discovered to have differences, but the difference is allowed. - */ - public int suppressedDifferenceCount; - /** - * The number of files that were completely ignored due to being in the ignore list. - */ - public int ignoredFileCount; - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java deleted file mode 100644 index 52c7087cb6..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/SortedPathSet.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.nio.file.Path; -import java.util.TreeSet; - -/** - * Sorted set of {@link Path} objects that provides consistent - * cross-platform sort order. - * - * @see java.util.TreeSet - * @author Matt Ward - */ -public class SortedPathSet extends TreeSet -{ - private static final long serialVersionUID = 1L; - - public SortedPathSet() - { - super(new CaseSensitivePathComparator()); - } -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java deleted file mode 100644 index 0ec0aac001..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/ZipResultFormatter.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.alfresco.update.tool.dircomp; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.nio.file.Path; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * Format the org.alfresco.update.tool.dircomp.ResultSet as a set of files inside a zip file. - * - * Files that are equal are not added to the zip file. - * - * @author mrogers - */ -public class ZipResultFormatter implements ResultFormatter -{ - @Override - public void format(ResultSet resultSet, OutputStream out) - { - ZipOutputStream zos = (ZipOutputStream)out; - - for(Result result : resultSet.results) - { - if(!result.equal) - { - try - { - putFile(result.p1, zos); - putFile(result.p2, zos); - } - catch (IOException ie) - { - // Do nothing - } - } - } - } - - private void putFile(Path path, ZipOutputStream zos) throws IOException - { - - if(path != null) - { - byte[] buffer = new byte[1024]; - File file = path.toFile(); - if(file.isFile()) - { - ZipEntry zipEntry = new ZipEntry(getEntryName(path)); - zipEntry.setTime(file.lastModified()); - try (FileInputStream ins = new FileInputStream(file)) - { - zos.putNextEntry(zipEntry); - int len; - while ((len = ins.read(buffer)) > 0) - { - zos.write(buffer, 0, len); - } - zos.closeEntry(); - } - } - } - } - - private String getEntryName(Path path) - { - // eg differences/xml-data/foo/bar - return "differences" + path.normalize().toString().replace('\\', '/').trim(); - } - -} diff --git a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java b/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java deleted file mode 100644 index ebf1e4545f..0000000000 --- a/enterprise-update-test/src/main/java/org/alfresco/update/tool/dircomp/exception/FileTreeCompareException.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp.exception; - -import org.alfresco.update.tool.dircomp.FileTreeCompare; - -/** - * Exception class representing failures during file tree comparison. - * - * @see FileTreeCompare - * @author Matt Ward - */ -public class FileTreeCompareException extends RuntimeException -{ - private static final long serialVersionUID = 1L; - - public FileTreeCompareException(String message) - { - super(message); - } - - public FileTreeCompareException(String message, Throwable cause) - { - super(message, cause); - } -} diff --git a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java b/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java deleted file mode 100644 index 259be63951..0000000000 --- a/enterprise-update-test/src/test/java/EndToEndIntegrationTest.java +++ /dev/null @@ -1,325 +0,0 @@ -/* - * Copyright 2015-2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ - -import org.alfresco.update.tool.dircomp.FileTreeCompare; -import org.alfresco.update.tool.dircomp.FileTreeCompareImpl; -import org.alfresco.update.tool.dircomp.HtmlResultFormatter; -import org.alfresco.update.tool.dircomp.Result; -import org.alfresco.update.tool.dircomp.ResultSet; -import org.alfresco.update.tool.dircomp.ZipResultFormatter; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; -import java.util.zip.ZipOutputStream; - -import static org.junit.Assert.assertTrue; - -public class EndToEndIntegrationTest -{ - private final static String JAR_FILE_NAME = "alfresco-update-tool.jar"; - - File targetDir; - - private String getBasePath() - { - String basePath = System.getProperty("base.alfresco.instance"); - if (basePath == null) - { - basePath = "./test-data/base-alf-installation"; - } - File base = new File(targetDir, basePath); - assertTrue("base instance does not exist :" + base, base.exists()); - - return base.getAbsolutePath(); - } - - private String getThisPath() - { - String basePath = System.getProperty("this.alfresco.instance"); - if (basePath == null) - { - basePath = "./test-data/this-alf-installation"; - } - File base = new File(targetDir, basePath); - assertTrue("this instance (the one to update) does not exist :" + base, base.exists()); - - return base.getAbsolutePath(); - } - - private String getUpdatePath() - { - String basePath = System.getProperty("unpacked.update.package"); - if (basePath == null) - { - basePath = "./test-data/alfresco-one-update-package"; - } - File base = new File(targetDir, basePath); - assertTrue(base.isDirectory()); - assertTrue("the update package does not exist :" + base, base.exists()); - String[] dirs = base.list(); - assertTrue(dirs.length == 1); - - return new File(base, dirs[0]).getAbsolutePath(); - } - - private void initTargetDir() - { - String targetDir = System.getProperty("alfresco.target.dir"); - if (targetDir == null) - { - targetDir = "./target"; // test needs to be run in target dir. - } - this.targetDir = new File(targetDir); - assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); - } - - @Before - public void setUp() throws Exception - { - initTargetDir(); - } - - /** - * Compare an instance of alfresco that has been installed and - * then updated via the update package for the current build with a freshly - * installed instance of the current build. Some differences such as files containing - * the installation path are allowed. Other differences will be detected by the test. - *

- * The maven build installs two instances of alfresco, an instance that is - * to be updated update, ${base.alfresco.instance} - * and a reference instance, ${this.alfresco.instance} which is the - * current build. - *

- * The output of the test is a boolean pass/fail but as a side-effect a report - * of the test is also produced, installation-diff-report.html and - * installation-diff-report.zip. The zip file should be empty in a - * successful execution. If there are unexpected differences then these will - * be added to the zip file. - *

- * The patterns of files to [test | ignore | allow special processing] are currently - * contained within the FileTreeCompareImpl.java class as are the patterns allowed - * during special processing. - * - * @see FileTreeCompareImpl - */ - @Test - public void testEndToEndUpdate() throws Exception - { - File updateThisOne = new File(getBasePath()); - - File referenceInstance = new File(getThisPath()); - - File updatePackage = new File(getUpdatePath()); - - // Run the update - runUpdateTool(updateThisOne, updatePackage); - - // Run the diff tool - compare(referenceInstance, updateThisOne); - - } - - /** - * Run the update tool - */ - public void runUpdateTool(File instanceToUpdate, File updatePackage) throws Exception - { - // expect to find jar at "lib/alfresco-update-tool.jar" - File jar = new File(updatePackage, "lib/" + JAR_FILE_NAME); - assertTrue("lib/" + JAR_FILE_NAME, jar.exists()); - - // expect to find update resources - - String options = " --assumeyes -u " + updatePackage; - String cmd = "java -jar " + jar.getAbsolutePath() + options + " " + instanceToUpdate.getPath(); - - boolean found = runCommand( - targetDir, - cmd, - null, - 0, - "The update was successful" - ); - - assertTrue("The update was successful", found); - - } - - /** - * Run the diff tool - * - * @param freshInstallation - * @param updatedInstallation - */ - public void compare(File freshInstallation, File updatedInstallation) throws IOException - { - FileTreeCompare comparator = new FileTreeCompareImpl(); - ResultSet resultSet = comparator.compare(updatedInstallation.toPath(), freshInstallation.toPath()); - - File dircompDir = new File(targetDir, "installation-diff"); - dircompDir.mkdirs(); - - // Format the results as an HTML report. - File file = new File(dircompDir, "installation-diff-report.html"); - file.createNewFile(); - - HtmlResultFormatter formatter = new HtmlResultFormatter(); - formatter.setDifferencesOnly(true); - try(FileOutputStream fos = new FileOutputStream(file); - BufferedOutputStream bos = new BufferedOutputStream(fos)) - { - formatter.format(resultSet, bos); - } - - File zipFile = new File(dircompDir, "installation-diff-report.zip"); - zipFile.createNewFile(); - - ZipResultFormatter zformatter = new ZipResultFormatter(); - - try (FileOutputStream fos = new FileOutputStream(zipFile); - ZipOutputStream zos = new ZipOutputStream(fos)) - { - zformatter.format(resultSet, zos); - } - - - assertTrue("update test has found unexpected differences, see the installation-diff-report for further details", resultSet.stats.differenceCount == 0); - - } - - /** - * Utility/harness to allow easy testing of {@link #compare(File, File)}. - *

- * Uncomment @Ignore, but do not check in. - * - * @throws IOException - */ - @Ignore - @Test - public void bigDiff() throws IOException - { - Path path1 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b667"); - Path path2 = Paths.get("/Users/MWard/dev2/alf-installs/alf-5.1-b669"); - - compare(path1.toFile(), path2.toFile()); - } - - /* - * Method to execute a command - * - * This variant of runCommand takes multiple expected messages. - * If a message is repeated twice in expectedMessage then the message must appear in - * the command line output at least twice to return true. - * - * @param targetLocation location for executing the command - * @param cmd the command to be executed - * @param input - input for command line prompts, may be null if not required - * @param expectedMessage... messages to be verified - * @param expectedReturnCode 0 for success - * @return true the messages are all found - * @throws IOException - */ - public boolean runCommand(File targetLocation, String cmd, String[] input, int expectedReturnCode, String... expectedMessage) throws IOException, InterruptedException - { - Runtime rt = Runtime.getRuntime(); - String line = null; - Process pr = rt.exec(cmd, null, targetLocation); - if(input != null && input.length > 0) - { - Input inputThread = new Input(pr.getOutputStream(), input); - inputThread.start(); - } - - ArrayList toFind = new ArrayList(); - for(int i = 0; i < expectedMessage.length; i++) - { - toFind.add(expectedMessage[i]); - } - - int found; - try (BufferedReader out = new BufferedReader(new InputStreamReader(pr.getInputStream()))) - { - while ((line = out.readLine()) != null) - { - found = -1; - for(int i = 0; i < toFind.size() ; i++) - { - if (line.contains(toFind.get(i))) - { - found = i; - } - } - System.out.println(line); - - if(found >= 0) - { - toFind.remove(found); - } - } - } - - int retCode = pr.waitFor(); - - if(retCode != expectedReturnCode) - { - System.out.println("Not expected return code expected:" + expectedReturnCode + " actual: " + retCode); - return false; - } - - if(toFind.size() == 0) - { - return true; - } - - System.out.println("Did not find expected message: " + toFind); - - return false; - } - - /** - * - */ - protected class Input extends Thread - { - OutputStream is; - String[] input; - - Input(OutputStream is, String[] input) - { - this.is = is; - this.input = input; - } - - public void run() - { - try (BufferedWriter in = new BufferedWriter(new OutputStreamWriter(is));) - { - for (String line : input) - { - in.write(line); - in.newLine(); - System.out.println("wrote : " + line); - } - } - catch (IOException e) - { - - } - } - } - - -} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java deleted file mode 100644 index 938ef2722a..0000000000 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/FileTreeCompareImplTest.java +++ /dev/null @@ -1,415 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Date; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.apache.commons.io.FileUtils; -import org.junit.Before; -import org.junit.Test; -import org.springframework.util.AntPathMatcher; - -/** - * Tests for the {@link FileTreeCompareImpl} class. - * - * @author Matt Ward - */ -public class FileTreeCompareImplTest -{ - FileTreeCompareImpl comparator; - - @Before - public void setUp() throws Exception - { - comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); - } - - @Test - public void canGetSortedPathSet() throws IOException - { - Path tree = pathFromClasspath("dir_compare/simple_file_folders/tree1"); - SortedPathSet paths = comparator.sortedPaths(tree); - Iterator it = paths.iterator(); - - System.out.println("Paths:"); - for (Path p : paths) - { - System.out.println("\t"+p); - } - - assertEquals(11, paths.size()); - - assertEquals("a", unixPathStr(tree, it.next())); - assertEquals("b", unixPathStr(tree, it.next())); - assertEquals("b/blah.txt", unixPathStr(tree, it.next())); - assertEquals("c", unixPathStr(tree, it.next())); - assertEquals("c/c1", unixPathStr(tree, it.next())); - assertEquals("c/c1/commands.bat", unixPathStr(tree, it.next())); - assertEquals("c/c1/commands.sh", unixPathStr(tree, it.next())); - assertEquals("c/c2", unixPathStr(tree, it.next())); - assertEquals("c/c2/Aardvark.java", unixPathStr(tree, it.next())); - assertEquals("c/c2/Banana.java", unixPathStr(tree, it.next())); - assertEquals("d", unixPathStr(tree, it.next())); - } - - private String unixPathStr(Path root, Path path) - { - // Allow test to run on Windows also - String pathStr = path.toString(); - pathStr = pathStr.replace(File.separatorChar, '/'); - return pathStr; - } - - @Test - public void canDiffSimpleTreesOfFilesAndFolders() - { - Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); - Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); - - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - // One result for each relative file/folder - assertEquals(13, resultSet.results.size()); - assertEquals(13, resultSet.stats.resultCount); - - Iterator rit = resultSet.results.iterator(); - // TODO: currently all of the files are in one, other or both but where they - // are in both, the file *contents* are identical. - // TODO: evolve test data and functionality to cope with different file contents. - assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); - assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); - assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); - assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); - assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); - // Aardvark.java appears in both trees but is not the same! - assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); - assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); - assertResultEquals(tree1.resolve("d"), null, false, rit.next()); - assertResultEquals(null, tree2.resolve("e"), false, rit.next()); - } - - /** - * A "learning test" allowing me to check my assumptions and document the expected behaviour. - */ - @Test - public void testAntPathMatcher() - { - AntPathMatcher matcher = new AntPathMatcher(); - assertTrue(matcher.match("**/common/lib/**/*.pc", "prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); - assertFalse(matcher.match("**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); - assertTrue(matcher.match("/**/common/lib/**/*.pc", "/absolute/prefix/common/lib/pkgconfig/ImageMagick++-6.Q16.pc")); - assertTrue(matcher.match("common/lib/**/*.pc", "common/lib/pkgconfig/Wand.pc")); - assertTrue(matcher.match("**/*.pc", "common/lib/pkgconfig/Wand.pc")); - assertFalse(matcher.match("*.pc", "common/lib/pkgconfig/Wand.pc")); - - assertTrue(matcher.match("libreoffice.app/Contents/Resources/bootstraprc", "libreoffice.app/Contents/Resources/bootstraprc")); - assertTrue(matcher.match("*.sh", "alfresco.sh")); - assertFalse(matcher.match("*.sh", "a/different/alfresco.sh")); - - // Windows matcher - // It seems that changing the path separator on an instance that's already been - // used isn't a good idea due to pattern caching. - matcher = new AntPathMatcher("\\"); - assertTrue(matcher.match("**\\common\\lib\\**\\*.pc", "prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); - assertTrue(matcher.match("\\**\\common\\lib\\**\\*.pc", "\\absolute\\prefix\\common\\lib\\pkgconfig\\ImageMagick++-6.Q16.pc")); - - assertTrue(matcher.match("b\\blah.txt", "b\\blah.txt")); - } - - @Test - public void canIgnoreSpecifiedPaths() - { - Path tree1 = pathFromClasspath("dir_compare/simple_file_folders/tree1"); - Path tree2 = pathFromClasspath("dir_compare/simple_file_folders/tree2"); - - Set ignorePaths = new HashSet<>(); - ignorePaths.add(toPlatformPath("b/blah.txt")); - ignorePaths.add(toPlatformPath("c/c2/**")); - ignorePaths.add(toPlatformPath("d/**")); - ignorePaths.add(toPlatformPath("e/**")); - comparator = new FileTreeCompareImpl(ignorePaths, new HashSet()); - - // Perform the comparison - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - Iterator rit = resultSet.results.iterator(); - assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); - assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); - assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); - // No b/blah.txt here. - assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); - // No c/c2, c/c2/Aardvark.java, c/c2/Banana.java, d or e here. - - List results = resultSet.results; - assertResultNotPresent(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, results); - assertResultNotPresent(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, results); - assertResultNotPresent(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, results); - assertResultNotPresent(tree1.resolve("c/c2/Banana.java"), null, false, results); - assertResultNotPresent(tree1.resolve("d"), null, false, results); - assertResultNotPresent(null, tree2.resolve("e"), false, results); - assertEquals(7, results.size()); - - // TODO: What about paths within war/jar/zip files? - // ...at the moment, if we specify a path of "mydir/README.txt" to be ignored, - // this will be ignored in the main tree, e.g. /mydir/README.txt but also - // within sub-trees if there is a match, e.g. /mydir/README.txt - } - - @Test - public void canSpecifyFilesThatShouldHaveCertainDifferencesAllowed() throws IOException - { - Path tree1 = pathFromClasspath("dir_compare/allowed_differences/tree1"); - Path tree2 = pathFromClasspath("dir_compare/allowed_differences/tree2"); - - // Check that two identical trees are... identical! - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - assertEquals(0, resultSet.stats.differenceCount); - assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(4, resultSet.stats.resultCount); - assertEquals(4, resultSet.results.size()); - - // Now add files that are different only in there use of tree1 and tree2's absolute paths. - File t1File = new File(tree1.toFile(), "different.txt"); - t1File.deleteOnExit(); - FileUtils.write(t1File, sampleText(tree1.toAbsolutePath().toString())); - - File t2File = new File(tree2.toFile(), "different.txt"); - t2File.deleteOnExit(); - FileUtils.write(t2File, sampleText(tree2.toAbsolutePath().toString())); - - // Now add a module.properties that are different in their "installDate" property only. - File t3File = new File(tree1.toFile(), "module.properties"); - t3File.deleteOnExit(); - Date date = new Date(); - FileUtils.write(t3File, sampleModuleProperties("2016-02-29T16\\:26\\:18.053Z")); - - File t4File = new File(tree2.toFile(), "module.properties"); - t4File.deleteOnExit(); - FileUtils.write(t4File, sampleModuleProperties("2016-02-28T14\\:30\\:14.035Z")); - - - // Perform the comparison - comparator = new FileTreeCompareImpl(new HashSet(), new HashSet()); - resultSet = comparator.compare(tree1, tree2); - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - // We should see a difference - assertEquals(0, resultSet.stats.suppressedDifferenceCount); - assertEquals(2, resultSet.stats.differenceCount); - assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(6, resultSet.stats.resultCount); - assertEquals(6, resultSet.results.size()); - - Iterator rit = resultSet.results.iterator(); - assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), false, rit.next()); - - // Perform the comparison again, but after allowing the files to be different. - Set allowedDiffsPaths = new HashSet<>(); - allowedDiffsPaths.add(toPlatformPath("**/*.txt")); - allowedDiffsPaths.add(toPlatformPath("**/module.properties")); - - // Perform the comparison, this time with some allowed differences - comparator = new FileTreeCompareImpl(new HashSet(), allowedDiffsPaths); - resultSet = comparator.compare(tree1, tree2); - - // We should see a difference - but it is in the 'suppressed' list. - assertEquals(2, resultSet.stats.suppressedDifferenceCount); - assertEquals(0, resultSet.stats.differenceCount); - assertEquals(0, resultSet.stats.ignoredFileCount); - assertEquals(6, resultSet.stats.resultCount); - assertEquals(6, resultSet.results.size()); - - rit = resultSet.results.iterator(); - assertResultEquals(tree1.resolve("different.txt"), tree2.resolve("different.txt"), true, rit.next()); - } - - private String sampleText(String absPath) - { - StringBuilder sb = new StringBuilder(); - sb.append("This is some example text\n"); - sb.append("...in tree: "+absPath); - sb.append(" ...and here is some more text.\n"); - sb.append("...but wait! here's an absolute path again:"+absPath+", yes."); - sb.append("The End."); - return sb.toString(); - } - - private String sampleModuleProperties(String installDateAsString) - { - StringBuilder sb = new StringBuilder(); - sb.append("# " + installDateAsString + "\n"); - sb.append("module.id=org.alfresco.integrations.share.google.docs\n"); - sb.append("module.version=3.0.3\n"); - sb.append("module.buildnumber=4ent\n"); - sb.append("module.title=Alfresco / Google Docs Share Module\n"); - sb.append("module.description=The Share side artifacts of the Alfresco / Google Docs Integration.\n"); - sb.append("module.repo.version.min=5.0.0\n"); - sb.append("module.repo.version.max=5.99.99\n"); - sb.append("module.installState=INSTALLED\n"); - // this is the problem we are trying to solve - sb.append("module.installDate=" + installDateAsString + "\n"); - - return sb.toString(); - } - - @Test - public void canDiffTreesContainingWarFiles() - { - Path tree1 = pathFromClasspath("dir_compare/file_folders_plus_war/tree1"); - Path tree2 = pathFromClasspath("dir_compare/file_folders_plus_war/tree2"); - - ResultSet resultSet = comparator.compare(tree1, tree2); - - System.out.println("Comparison results:"); - for (Result r : resultSet.results) - { - System.out.println("\t"+r); - } - - // The 14 top-level results + 17 sub-results. - assertEquals(31, resultSet.stats.resultCount); - - // One result for each relative file/folder - assertEquals(14, resultSet.results.size()); - - - Iterator rit = resultSet.results.iterator(); - // TODO: currently all of the files are in one, other or both but where they - // are in both, the file *contents* are identical. - // TODO: evolve test data and functionality to cope with different file contents. - assertResultEquals(tree1.resolve("a"), tree2.resolve("a"), true, rit.next()); - assertResultEquals(null, tree2.resolve("a/story.txt"), false, rit.next()); - assertResultEquals(tree1.resolve("b"), tree2.resolve("b"), true, rit.next()); - - // Examine the results of the war file comparison - Result result = rit.next(); - // The WAR files are different. - assertResultEquals( - tree1.resolve("b/alfresco-testdata-webapp.war"), - tree2.resolve("b/alfresco-testdata-webapp.war"), - false, - result); - List subResults = result.subResults; - System.out.println("subResults:"); - for (Result r : subResults) - { - System.out.println("\t"+r); - } - Iterator subIt = subResults.iterator(); - Path subTree1 = result.subTree1; - Path subTree2 = result.subTree2; - assertEquals(17, subResults.size()); - assertResultEquals(subTree1.resolve("META-INF"), subTree2.resolve("META-INF"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/MANIFEST.MF"), subTree2.resolve("META-INF/MANIFEST.MF"), false, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven"), subTree2.resolve("META-INF/maven"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy"), subTree2.resolve("META-INF/maven/org.alfresco.dummy"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp"), true, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.properties"), false, subIt.next()); - assertResultEquals(subTree1.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), subTree2.resolve("META-INF/maven/org.alfresco.dummy/alfresco-testdata-webapp/pom.xml"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF"), subTree2.resolve("WEB-INF"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes"), subTree2.resolve("WEB-INF/classes"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org"), subTree2.resolve("WEB-INF/classes/org"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco"), subTree2.resolve("WEB-INF/classes/org/alfresco"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp"), true, subIt.next()); - assertResultEquals(null, subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/Another.class"), false, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), subTree2.resolve("WEB-INF/classes/org/alfresco/testdata/webapp/ExampleJavaClass.class"), true, subIt.next()); - assertResultEquals(subTree1.resolve("WEB-INF/web.xml"), subTree2.resolve("WEB-INF/web.xml"), true, subIt.next()); - assertResultEquals(subTree1.resolve("index.jsp"), subTree2.resolve("index.jsp"), false, subIt.next()); - - // Back up to the top-level comparisons - assertResultEquals(tree1.resolve("b/blah.txt"), tree2.resolve("b/blah.txt"), true, rit.next()); - assertResultEquals(tree1.resolve("c"), tree2.resolve("c"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1"), tree2.resolve("c/c1"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.bat"), tree2.resolve("c/c1/commands.bat"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c1/commands.sh"), tree2.resolve("c/c1/commands.sh"), true, rit.next()); - assertResultEquals(tree1.resolve("c/c2"), tree2.resolve("c/c2"), true, rit.next()); - // Aardvark.java appears in both trees but is not the same! - assertResultEquals(tree1.resolve("c/c2/Aardvark.java"), tree2.resolve("c/c2/Aardvark.java"), false, rit.next()); - assertResultEquals(tree1.resolve("c/c2/Banana.java"), null, false, rit.next()); - assertResultEquals(tree1.resolve("d"), null, false, rit.next()); - assertResultEquals(null, tree2.resolve("e"), false, rit.next()); - } - - private void assertResultNotPresent(Path p1, Path p2, boolean contentEqual, List results) - { - Result r = new Result(); - r.p1 = p1; - r.p2 = p2; - r.equal = contentEqual; - assertFalse("Result should not be present: "+r, results.contains(r)); - } - - private void assertResultEquals(Path p1, Path p2, boolean contentEqual, Result result) - { - Result expected = new Result(); - expected.p1 = p1; - expected.p2 = p2; - expected.equal = contentEqual; - assertEquals(expected, result); - } - - private Path pathFromClasspath(String path) - { - try - { - return Paths.get(getClass().getClassLoader().getResource(path).toURI()); - } - catch (URISyntaxException error) - { - throw new RuntimeException(""); - } - } - - private String toPlatformPath(String path) - { - return path.replace("/", File.separator); - } -} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java deleted file mode 100644 index bd387646db..0000000000 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/HtmlResultFormatterTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2016 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.tool.dircomp; - -import java.io.BufferedOutputStream; -import java.io.ByteArrayOutputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.commons.io.FileUtils; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.springframework.util.AntPathMatcher; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -/** - * Tests for the {@link HtmlResultFormatter} class. - *

- * TODO: currently these aren't tests so much as useful utilities to help with manual testing. - * - * @author Matt Ward - */ -public class HtmlResultFormatterTest -{ - @Before - public void setUp() throws Exception - { - } - - @Test - public void canFormatToHTML() throws IOException - { - ResultSet resultSet = new ResultSet(); - List results = resultSet.results; - addResult(results, "/t1/a", "/t2/a", true); - addResult(results, "/t1/a/b", "/t2/a/b", true); - addResult(results, "/t1/a/c", "/t2/a/c", true); - addResult(results, "/t1/a/b/c/something.txt", "/t2/a/b/c/something.txt", true); - addResult(results, "/t1/a/b/c/another.txt", "/t2/a/b/c/another.txt", false); - addResult(results, null, "/t2/a/b/c/blah.txt", false); - addResult(results, "/t1/dir-only-in-p1", null, false); - addResult(results, null, "/t2/dir-only-in-p2", false); - - resultSet.stats.suppressedDifferenceCount = 2; - resultSet.stats.differenceCount = 4; - resultSet.stats.ignoredFileCount = 0; - resultSet.stats.resultCount = results.size(); - - try(ByteArrayOutputStream os = new ByteArrayOutputStream()) - { - HtmlResultFormatter formatter = new HtmlResultFormatter(); - formatter.format(resultSet, os); - System.out.println(os.toString()); - - // Uncomment to write to file -// Path file = Files.createTempFile(getClass().getSimpleName(), ".html"); -// FileUtils.write(file.toFile(), os.toString()); -// System.out.println("File: "+file); - } - } - - private void addResult(List results, String p1, String p2, boolean contentMatch) - { - Result r = new Result(); - r.p1 = p1 != null ? Paths.get(p1) : null; - r.p2 = p2 != null ? Paths.get(p2) : null; - r.equal = contentMatch; - results.add(r); - } -} diff --git a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java b/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java deleted file mode 100644 index bca1660d28..0000000000 --- a/enterprise-update-test/src/test/java/org/alfresco/update/tool/dircomp/ZipResultFormatterTest.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.alfresco.update.tool.dircomp; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URL; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.zip.ZipOutputStream; - -import org.junit.Before; -import org.junit.Test; - -/** - * Tests for the {@link ZipResultFormatter} class. - *

- * - * @author Mark Rogers - */ -public class ZipResultFormatterTest -{ - @Before - public void setUp() throws Exception - { - } - - @Test - public void canFormatToZip() throws IOException - { - ResultSet resultSet = new ResultSet(); - List results = resultSet.results; - - URL srcDir = getClass().getClassLoader().getResource("dir_compare/allowed_differences/tree1"); - assertNotNull(srcDir.getPath()); - - File f = new File(srcDir.getPath()); - - File[] files = f.listFiles(); - for(File file : files) - { - addResult(results, file.getAbsolutePath(), null, false); - } - - resultSet.stats.suppressedDifferenceCount = 2; - resultSet.stats.differenceCount = 4; - resultSet.stats.ignoredFileCount = 0; - resultSet.stats.resultCount = results.size(); - - ZipResultFormatter zof = new ZipResultFormatter(); - - Path file = Files.createTempFile(getClass().getSimpleName(), ".zip"); - - File zipFile = file.toFile(); - zipFile.createNewFile(); - zipFile.deleteOnExit(); - - ZipResultFormatter zformatter = new ZipResultFormatter(); - - try (FileOutputStream fos = new FileOutputStream(zipFile); - ZipOutputStream zos = new ZipOutputStream(fos)) - { - zof.format(resultSet, zos); - } - - assertTrue(zipFile.length() > 0); - - } - - private void addResult(List results, String p1, String p2, boolean contentMatch) - { - Result r = new Result(); - r.p1 = p1 != null ? Paths.get(p1) : null; - r.p2 = p2 != null ? Paths.get(p2) : null; - r.equal = contentMatch; - results.add(r); - } - -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt deleted file mode 100644 index 69c3b8a81a..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/x/story.txt +++ /dev/null @@ -1,5 +0,0 @@ -Once upon -A time -Lived -A -Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree1/y/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt deleted file mode 100644 index 69c3b8a81a..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/x/story.txt +++ /dev/null @@ -1,5 +0,0 @@ -Once upon -A time -Lived -A -Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/allowed_differences/tree2/y/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree1/b/alfresco-testdata-webapp.war deleted file mode 100644 index 8f1c6ac5f2deabd1b77d898a424608942540e5d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3162 zcmWIWW@h1HVBlb2s3{KeU_b(#K(?=Ih@-BjpPPOFP?-n=2L}g+G7)5DzK(vLZmz*0 zdcJN`C!X~?Y#`9`e%c?tI>y~)x163vbFp`Ege(c@oInG{JTK*zDjG1A`P30|O{Pv4=Y_ zDj33Do#4TaU6lZms^px+;^Nd|a3o<@4T>a~nK0G)Md^5S$l}nEn3GnNTAZAZN2?kk zttF|&B`Jv|iFnM=CEASg)TG3M0bmHPx-H8 z36gXxlUr$N`IGD6PghILF0)?_jC#_wE7sV#7y=`Ronwz|nvxdKB_=?OI|n$E>Q>i^ z#N2|MRIkLcL}yUc>4BqUs=uM%VF!UZzB1B1o=Pfm4(uKUtg0PqT&^jtOjGLK$~;`u zecmd*AwN(t@B@QfYlO6xRoT*u=Q7fk{QXn)pP`_!u*>e7FpqE#$H%EFeRimQ>Gv0F z$#^tvmcc3CrO$8sF8pgN9yX=<&eR<7H@>Iqk80S=YFkkBJiO~|^L5{sAs2ijiW0uA z;a-<*TKmv9_iNAmilm*HdYmuk-u@MIf5x__AJ#vt(G73oU_Nwn|0>SMW~+6=wM(Pd zlu8z~%(J<}chYNRf{stAjKrLMjd4$3C<^vi7k0=Vd~>`Zc1di_`r_34pdjU9(vNxs z3@~qCK0pL1dYthi1t~Cs^(u06VtY?>H5-VyeE-=Mece>NB)lo%YU_pe0PmNpj;JJb z9ZN{+u8$WF%9w6^X69kDpO&lNhcf10ZMhS*V%=}&nSvZnM^2|aSaH;1$IZ&CyLG3y z1svIP?%^^ikF{^NJc#3GQ<72^Tb`g8{r)ZA$CL4McAX3`{Gze%}p#z&C>^FM?F~P(n~4L&8^gjadlxCMi-jc3-WV8LDD<?Xhm>v3pPkcwj7xR> zXG_h`(ss$WR+O)a*|t3?akY8QL%+}mi=Lge+`C{)tE?B3RLv}n%}e|Fy{kOEg3_Lg zR7WpQ5G*~i|MQvi)4z$wevW)rAGr5J#PP0u?>*}Ux7MF3@{6BdzS<*(BUAPSSMfXV z$kkan^DZy4DN894;#T5iTl%4_>aDRpf}??1NBX}$AF&PT!8#yQBTJN4J-IQfJ6+UAV%S*S@&e&Dp3U z>xxG9l&KEZKgxJ&mmD}T=er+QdC`KE>dlY7NGJ>Ioe-VrU)GB-%EO$H(i7xu;%3a8DQrXeN7CU$|*bfJC0!s+fxxxrC9_3OLS zZ9SdaY}hVckPonwNox`-H_{0#ZkbgzA$-DerQIUWWoCsrs->JO`*b_WS98Y$qqlNb zSMRnJoxP{`-8%2r>V5AoUN(zZ_js2aPi=&o%%S}Mli6-H9cy^mURBap3-#QF zNvrxoNpAJIAtFBHy6>CD%-6-O@1A+yXWn_{EdO(U|8vd{Z^FR|gFv7Vh=Q+$5rjo} zfOo8crLHUnXDE*c)DRFT6#8Fk2v#+$E)HX8aL`f?YnXoK0q&l{hUiZjU*RX%YW&$t zKFh{%7;x^|Xq&Kp&qS=vKiepI8Fl+G9y*?XL|hzwIqTng{W2C_QGA?S;o*tl91@n@ zZKua|%etWh5NOjzL0RqE!%A`7i3^I0y4JLL*?T@CMcjRsx_9hcvZQH%)vf&(|4l7E&K*XaJ1uo% z*X}n^_~8b*HqTE}ZR2LtR!4nBZ0Mz~v$FZ;$57J0-KMCNty_1Hd)r4rr|8E*coS}D z6-O8m&IW;qvO^$XJy$L}fCR+aKySI~D{F0F(Q@^2rcw#iZy2qt4PwOb$PlL}RPukB`Vy$VZqB~WYxt1;X&(Uu7iTj0o2#Y!DYL>g_V9Ki1j>0* z$(8Ns_6OI8ZeTjhN;xe=4E^(A?IH<5!==(Nlt^|9O=V6;QBEwZggq=i7{G`dI%2<7 z06dH;@T}eg8ozp6U2l@FJAoqi4UA-StjRr{4Pkv(Zz}fo_RcMs3zQy?Bp8L*PV zjJ6vIo61FPl&*E3)=V#Wc8qtpRX0w8T5vbA;P=#mY9!aG__69C!Gqq?ne*bvcD3`T zMP8lNk6p;1Y30uIpAo*>@!X}P#-2KlQ43YL_E5hlWV@$Dcmv@+{&@fGxvyvXwE6ed zRO}E5e&D8&qV=S#3$2tzRHoVcNDs9?KQM*%zUj1$PQ{_`i5V z7O%JAbKtc;b4@+rCDW7m#FMWv$t8Gk&9sg>R7j2~40*b}gEyy9xH;Rb%v!8c3TN00_~^!z5P}mXZpVir9q%Gk?chup@!p0lDUNWI0PAEBeqM! zzvywd`%(JB*Wg76Il_mgJuS#9m;{|jFEy=}oJuj<9PR!#BS)bFTlAq1Td=TC=ulcz zf4Y~@2(~l41+A46dx7%7nl>8s0y}K^2x~)e`cl6B%5mkeK`il0()mD_J05a8!{_?u zEC#Zw-i==!43)Kxg>p2#tiQ}Nq*5khz1z>O+)soYov+moZ#OP=k}>t$BAizjapc_} z5&}t@KJns>BW))g=nkP*se}Qrq%d}Q+qXc$On|a7y8}V}>muQ2DJjsda)CrIhvZIJ zlmg8%H+(vJ zaONWim|q>fjO`+D`WL{ndVYGqzsrk~=e7>9+OEAN0p<2pw_TjeRJ{gqR&NU5KTxl|a5F~Sm|Zk9 z2VGf|!fz6cF}67R0TE(X>?GjVTtC_MFmqbSVe;_%aP!)6n>JeACrr4&t?&*C&M`Bf z%*Y<?Ei zKFe-ycxvHOWi^>R3+x%uJsMAnni?r%;_`=PZl{#h^P44&8Oltpe{YAd2q4ZYvdwL7 zEAT@?X~-8BzDReT*=g@~BDQ5Hcc&k3%$f+ZG=wp;}JrZ_^pBxCBFSs zs-ga#c+Y3(<7w$Snt%H9hS3}D=gr_?0h9}+Qc-WGgm(za-QSdL=AYtGpJj+Vrmoq?X&IYU}{Dde+d$eJq@k_*fo0qM8=c`E-BkLv1z?_fxlqHpK&X`UVFp?mrSF z%>R!&nL;8HD83#9s&ab`JW>Gxc~tA@BX~3?L)6ts*yaHDGtLuls%o`1dgNLte65ws z|Ki4{PRqIii{JE>jrQd1fRwqO zSNZ$IE)F!kI;4GS%YZ(;C(!#gL0!0YFTeW}(&AYu+p{gvvvGT48|uK!gL;jtqJX?o zzTJ2>b_B=Di~=NwOR@nnstdj?cL3f5G-FOzR@ws+5r)tsq=46DGZyN&5`);RWd+hDrqwwXD+V1}%bIy=FlOfp)=Ok+^>Tr9iWz@l6%ULN0kE0XU4it9 z=}HY)W{d(bQUMRM?20jM*7ON79H!6EpZ2*-zL^xLjEW)jh}}RR{#=&dPxKdl^iX? zz^r2i{Jt80G-jPe;HF^+JwlqBrG5VP-eHXgPB_*H08TiD&?6)OESKB$@5N)zJG==O TkUInd2R;r!*~Nf%hd}-V9Nxz3 diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/b/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat deleted file mode 100644 index fb7b3bb193..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.bat +++ /dev/null @@ -1,2 +0,0 @@ -echo Hello -echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh deleted file mode 100644 index 35d5edb327..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c1/commands.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -echo hello -echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java deleted file mode 100644 index bf3d78b9f5..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/file_folders_plus_war/tree2/c/c2/Aardvark.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Hello Aardvark!"); - } -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/b/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat deleted file mode 100644 index fb7b3bb193..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.bat +++ /dev/null @@ -1,2 +0,0 @@ -echo Hello -echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh deleted file mode 100644 index 35d5edb327..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c1/commands.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -echo hello -echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java deleted file mode 100644 index 5733268500..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Aardvark.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Aardvark!"); - } -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java deleted file mode 100644 index a9d5570d63..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree1/c/c2/Banana.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Banana!"); - } -} diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt deleted file mode 100644 index 69c3b8a81a..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/a/story.txt +++ /dev/null @@ -1,5 +0,0 @@ -Once upon -A time -Lived -A -Troll diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt deleted file mode 100644 index e508b95435..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/b/blah.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sample content -More sample content diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat deleted file mode 100644 index fb7b3bb193..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.bat +++ /dev/null @@ -1,2 +0,0 @@ -echo Hello -echo World diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh deleted file mode 100644 index 35d5edb327..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c1/commands.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -echo hello -echo world diff --git a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java b/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java deleted file mode 100644 index bf3d78b9f5..0000000000 --- a/enterprise-update-test/src/test/resources/dir_compare/simple_file_folders/tree2/c/c2/Aardvark.java +++ /dev/null @@ -1,7 +0,0 @@ -public class Aardvark -{ - public static void main(String[] args) - { - System.out.println("Hello Aardvark!"); - } -} diff --git a/enterprise-update/assemblies/updateTool.xml b/enterprise-update/assemblies/updateTool.xml deleted file mode 100644 index bdbefa8ebe..0000000000 --- a/enterprise-update/assemblies/updateTool.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - update-tool - - zip - - - true - - - - - ${unpacked.update.tool}/bin - - - *.bat - - dos - - - - ${unpacked.update.tool}/bin - - - *.sh - - unix - - 0755 - - - - - ${unpacked.alfresco.platform.distribution} - resources/distribution/platform - - package.properties - - dos - - - - ${unpacked.alfresco.one.distribution} - resources/distribution/platform - - README.txt - - dos - - - - - ${unpacked.alfresco.platform.distribution} - resources/distribution/platform_only - - README.txt - package.properties - - dos - - - - - ${unpacked.alfresco.share.distribution} - resources/distribution/share_only - - README.txt - package.properties - - dos - - - - - ${unpacked.alfresco.platform.distribution}/bin - resources/distribution/common/bin - - alfresco-mmt.jar - alfresco-spring-encryptor.jar - - keep - - - - - ${unpacked.solr4.distribution}/archive-SpacesStore/conf - resources/distribution/common/solr4/archive-SpacesStore/conf - - schema.xml - - keep - - - - - ${unpacked.org.alfresco.aos.distribution} - resources/war - - *.war - - keep - - - - - ${unpacked.org.alfresco.aos.distribution} - resources/amp/platform - - *.amp - - keep - - - - ${unpacked.update.tool}/bin - lib - - *.jar - - - - - ${unpacked.update.tool} - - - README.txt - package.properties - - dos - - - - ${unpacked.update.script} - /resources/script - - *.auas - - keep - - - - - ${unpacked.alfresco.wcmqs.distribution} - resources/amp/platform - - alfresco-wcmqs.amp - - - - - ${unpacked.alfresco.wcmqs.distribution} - resources/amp/share - - alfresco-wcmqs-share.amp - - - - - ${unpacked.alfresco.wcmqs.distribution} - resources/war - - *.war - - - - - - - - - - false - true - resources/war - alfresco.war - - org.alfresco:alfresco-platform-enterprise:war - - - - - - false - true - resources/war - share.war - - org.alfresco:share:war - - - - - - false - true - resources/war - solr4.war - - org.alfresco:alfresco-solr4:war - - - - - - false - true - resources/amp/platform - - org.alfresco.integrations:alfresco-googledocs-repo:amp:enterprise:* - - - - - - false - true - resources/amp/platform - alfresco-share-services.amp - - org.alfresco:alfresco-share-services:amp:* - - - - - false - true - resources/amp/share - - org.alfresco.integrations:alfresco-googledocs-share:amp:enterprise:* - - - - - - diff --git a/enterprise-update/pom.xml b/enterprise-update/pom.xml deleted file mode 100644 index 928c430088..0000000000 --- a/enterprise-update/pom.xml +++ /dev/null @@ -1,392 +0,0 @@ - - - 4.0.0 - - org.alfresco - alfresco-full-installation - 5.2-SNAPSHOT - - alfresco-one-update-package - jar - Alfresco One Update Package - - - ${project.build.directory}/dependency/alfresco-update-tool-distribution-${alfresco.updatetool.version} - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} - ${project.build.directory}/dependency/wcmqs-${project.version} - ${project.build.directory}/dependency/aos-${alfresco.aos-module.version} - ${project.build.directory}/dependency/alfresco-one-distribution-${project.version} - ${project.build.directory}/dependency/solr4-distribution-${project.version} - - - ${project.build.directory}/classes/script/${version.major}.${version.minor} - - - - - org.alfresco - alfresco-platform-enterprise - ${alfresco.platform.version} - war - - - - - org.alfresco - share - ${alfresco.share.version} - war - - - - - org.alfresco - alfresco-solr4 - ${alfresco.platform.version} - war - - - - - org.alfresco.integrations - alfresco-googledocs-repo - ${alfresco.googledocs.version} - enterprise - amp - - - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - enterprise - amp - - - - - org.alfresco - alfresco-share-services - ${alfresco.share.version} - amp - - - - org.alfresco - alfresco-wcmqs-distribution - ${alfresco.share.version} - zip - - - - - org.alfresco - alfresco-update-tool-distribution - ${alfresco.updatetool.version} - zip - - - - - org.alfresco - alfresco-one-platform-distributionzip - ${alfresco.platform.version} - zip - - - - - org.alfresco - alfresco-share-distribution - ${alfresco.share.version} - zip - - - - - org.alfresco - alfresco-one-distribution - ${project.version} - jar - - - - - org.alfresco - alfresco-solr4 - ${alfresco.platform.version} - config - zip - - - - - junit - junit - 4.12 - test - - - - - ${project.artifactId}-${installer.version.name} - src/main/java - - - src/main/resources - - - src/test/java - - - src/test/resources - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-wcmqs-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-wcmqs-distribution - ${alfresco.share.version} - zip - ${unpacked.alfresco.wcmqs.distribution} - - - - - - unpack-update-tool-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-update-tool-distribution - ${alfresco.updatetool.version} - true - zip - - - - - - unpack-alfresco-enterprise-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-one-platform-distributionzip - ${alfresco.platform.version} - true - zip - - - - - - unpack-alfresco-share-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-share-distribution - ${alfresco.share.version} - true - zip - - - - - - - unpack-aos-distribution - generate-resources - - unpack - - - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - true - zip - ${unpacked.org.alfresco.aos.distribution} - - - - - - - unpack-one-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-one-distribution - ${project.version} - true - jar - ${unpacked.alfresco.one.distribution} - - - - - - - unpack-solr4-distribution - generate-resources - - unpack - - - - - org.alfresco - alfresco-solr4 - ${alfresco.platform.version} - config - true - zip - ${unpacked.solr4.distribution} - - - - - - - - - com.google.code.maven-replacer-plugin - replacer - 1.5.3 - - - prepare-package - - replace - - - - - ${unpacked.update.tool}/README.txt,${unpacked.update.tool}/package.properties - - - @Version@ - ${version} - - - @UpdateAssistantVersion@ - ${alfresco.updatetool.version} - - - - - - - maven-assembly-plugin - - - - update-tool - package - - single - - - - - false - - false - - assemblies/updateTool.xml - - - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - default-test - test - - test - - - - **/*IntegrationTest.java - - true - alphabetical - - - - integration-test - integration-test - - test - - - false - ${project.build.directory} - true - alphabetical - - none - - - **/*IntegrationTest.java - - - ${project.artifactId}-${installer.version.name}.zip - ${project.artifactId}-${installer.version.name}.tgz - ${project.build.directory} - - - - - - - - - diff --git a/enterprise-update/src/main/resources/script/5.0/update5-0.auas b/enterprise-update/src/main/resources/script/5.0/update5-0.auas deleted file mode 100644 index 078afab98c..0000000000 --- a/enterprise-update/src/main/resources/script/5.0/update5-0.auas +++ /dev/null @@ -1,5 +0,0 @@ -// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.0 -// update5-0.auas - -DELETE /tomcat/endorsed/xalan-2.7.2.jar -DELETE /tomcat/endorsed/serializer-2.7.2.jar \ No newline at end of file diff --git a/enterprise-update/src/main/resources/script/5.1/update5-1.auas b/enterprise-update/src/main/resources/script/5.1/update5-1.auas deleted file mode 100644 index 3910132c08..0000000000 --- a/enterprise-update/src/main/resources/script/5.1/update5-1.auas +++ /dev/null @@ -1,4 +0,0 @@ -// ALFRESCO UPDATE ASSISTANT SCRIPT for 5.1 -// update5-1.auas - -// EMPTY AT THE MOMENT diff --git a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java deleted file mode 100644 index 5f2bde3940..0000000000 --- a/enterprise-update/src/test/java/org/alfresco/update/packaging/PackagingIntegrationTest.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2015-2015 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.packaging; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.IOException; -import java.util.Enumeration; -import java.util.Set; -import java.util.TreeSet; -import java.util.zip.ZipEntry; -import java.util.zip.ZipException; -import java.util.zip.ZipFile; - -import org.junit.Before; -import org.junit.Test; - -/** - * Update Package sanity tests. - *

- * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: - *

- *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
- * 
- * - * ...or similar, depending on current version etc. There probably is a better way. - * - * @author Matt Ward - */ -public class PackagingIntegrationTest -{ - private File updatePackage; - - @Before - public void setUp() throws Exception - { - String pkgName = System.getProperty("alfresco.update.package.zip"); - assertNotNull("Could not determine package name.", pkgName); - updatePackage = new File(pkgName); - } - - /** - * Test that the package structure within the update package - * is as expected. - *

- * In particular check the following paths exist. - *

    - *
  • /lib/alfresco-update-tool.jar
  • - *
  • /apply_updates.sh
  • - *
  • /apply_updates.bat
  • - *
  • /resources/war/alfresco.war
  • - *
  • /resources/war/share.war
  • - *
  • /resources/distribution/common/bin/alfresco-mmt.jar
  • - *
  • /resources/distribution/common/bin/alfresco-spring-encryptor.jar
  • - *
  • /resources/distribution/platform/README.txt
  • - *
- */ - @Test - public void testPackageStructureIsAsExpected() throws ZipException, IOException - { - // Check the package exists before we go any further - assertTrue("Update package does not exist.", updatePackage.exists()); - - Set paths = listFiles(updatePackage); - - assertTrue("too few paths in the update package", paths.size() > 3); - - String firstPath = (String)paths.toArray()[0]; - String dirs[] = firstPath.split("/"); - - // Are the binaries present? - assertPathPresent(paths, dirs[0] + "/lib/alfresco-update-tool.jar"); - assertPathPresent(paths, dirs[0] + "/apply_updates.sh"); - assertPathPresent(paths, dirs[0] + "/apply_updates.bat"); - - // Is the content sub-package present? - assertPathPresent(paths, dirs[0] + "/resources/war/alfresco.war"); - assertPathPresent(paths, dirs[0] + "/resources/war/share.war"); - - // Is the mmt in the correct place ? - assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-mmt.jar"); - assertPathPresent(paths, dirs[0] + "/resources/distribution/common/bin/alfresco-spring-encryptor.jar"); - - // Is the readme present ? - assertPathPresent(paths, dirs[0] + "/resources/distribution/platform/README.txt"); - - } - - private void assertPathPresent(Set pathsToCheck, String expectedPath) - { - assertTrue("Expected path to be present, but was not: "+expectedPath, - pathsToCheck.contains(expectedPath)); - } - - private Set listFiles(File file) throws ZipException, IOException - { - Set paths = new TreeSet(); - - ZipFile zipFile = new ZipFile(file); - try - { - Enumeration e = zipFile.entries(); - while (e.hasMoreElements()) - { - ZipEntry entry = e.nextElement(); - paths.add(entry.getName()); - } - } - finally - { - zipFile.close(); - } - return paths; - } -} - diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java deleted file mode 100644 index b0ff8da80f..0000000000 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/AbstractIntegrationTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.alfresco.update.pkg.test; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.File; - -import org.junit.Before; - -/** - * Abstract base class for tests. - * - * @author Matt Ward - */ -public abstract class AbstractIntegrationTest -{ - protected File targetDir; - - @Before - public void setUp() throws Exception - { - initTargetDir(); - } - - private void initTargetDir() - { - String targetDir = System.getProperty("alfresco.target.dir"); - if (targetDir == null) - { - targetDir = "./target"; // test needs to be run in target dir. - } - this.targetDir = new File(targetDir); - assertTrue("target dir does not exist :" + targetDir, this.targetDir.exists()); - } - - - protected boolean runningOnWindows() - { - String os = System.getProperty("os.name").toLowerCase(); - - if (os.contains("windows")) - { - return true; - } - return false; - } -} diff --git a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java b/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java deleted file mode 100644 index c6df311657..0000000000 --- a/enterprise-update/src/test/java/org/alfresco/update/pkg/test/ZipFormatIntegrationTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2005-2015 Alfresco Software, Ltd. All rights reserved. - * - * License rights for this program may be obtained from Alfresco Software, Ltd. - * pursuant to a written agreement and any use of this program without such an - * agreement is prohibited. - */ -package org.alfresco.update.pkg.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertNotNull; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Enumeration; - -import org.apache.commons.compress.archivers.ArchiveException; -import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.apache.commons.compress.archivers.zip.ZipFile; -import org.apache.commons.compress.compressors.CompressorException; -import org.junit.Before; -import org.junit.Test; - -/** - * Tests for the tgz format packaging. - * - * To run these tests in Eclipse, add the following to the "VM arguments" for the junit Run Configuration: - *
- *   -Dalfresco.update.package.zip=target/alfresco-enterprise-update-package-2015-1-EA-SNAPSHOT.zip
- * 
- * - * @author Matt Ward - */ -public class ZipFormatIntegrationTest extends AbstractIntegrationTest -{ - File updatePackage; - - @Before - public void setUp() throws Exception - { - super.setUp(); - String pkgName = System.getProperty("alfresco.update.package.zip"); - assertNotNull("Could not determine package name.", pkgName); - updatePackage = new File(pkgName); - } - - /** - * Check that the apply_updates.sh script exists in the update package and - * that it has 0x755 permissions. In particular the +x bit needs to be - * set. - */ - @Test - public void applyUpdatesScriptHasExecutableBitsSet() throws FileNotFoundException, ArchiveException, IOException, CompressorException - { - assertTrue("File does not exist: "+ updatePackage, updatePackage.exists()); - try (ZipFile zipFile = new ZipFile(updatePackage)) - { - Enumeration e = zipFile.getEntries(); - boolean found = false; - while (!found && e.hasMoreElements()) - { - ZipArchiveEntry entry = e.nextElement(); - File f = new File(entry.getName()); - if (f.getName().equalsIgnoreCase("apply_updates.sh")) - { - found = true; - System.out.println("Found the unix shell wrapper script."); - final int expectedPerms = 0755; - // Other bits may be set, but check 755 octal are set. - System.out.println("File has permissions: "+Integer.toString(entry.getUnixMode(), 8)); - assertEquals(expectedPerms, entry.getUnixMode() & expectedPerms); - } - } - } - } -} diff --git a/pom.xml b/pom.xml index eb386e4467..434212c4d0 100644 --- a/pom.xml +++ b/pom.xml @@ -21,9 +21,6 @@ 3.0.3 - - 1.0-SNAPSHOT - 1.1 @@ -57,9 +54,6 @@ alfresco-community ${alfresco.package.name}-distribution - - - https://nightlybuilds.alfresco.com/Enterprise-5.2/LATEST-BASE-INSTALLER
@@ -83,16 +77,9 @@ enterprise-war-for-ear ear enterprise-distribution - enterprise-update enterprise-installer
- - update-test - - enterprise-update-test - - release From 8affae7925b876497b86b905b08cedbf359985a3 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 6 May 2016 10:31:23 +0000 Subject: [PATCH 450/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) (RECORD ONLY) : - 126185 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126231 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a0663cd1d1f151c77cbdd80dbe0c24a847f7aea4 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 6 May 2016 10:31:26 +0000 Subject: [PATCH 451/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) (RECORD ONLY) : - 126214 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126232 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 071887105f05ff3524335edeb600ba034300e63f Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 6 May 2016 10:32:17 +0000 Subject: [PATCH 452/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 126016,126033,126068 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@126234 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 07fb0f10c644cb5d9a81a2634fbd9759f5a56a96 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 6 May 2016 10:32:27 +0000 Subject: [PATCH 453/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 126133,126134,126135,126233 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@126235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 1c201e3d9a3c0a082f7ddf5a1370c6713dd6369c Mon Sep 17 00:00:00 2001 From: Andreea Dragoi Date: Fri, 6 May 2016 13:26:22 +0000 Subject: [PATCH 454/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 126142,126143 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126258 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a1d1df8aa729dc5707e00a1a1cde82d728390b55 Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Wed, 11 May 2016 09:03:34 +0000 Subject: [PATCH 455/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 126277 skopf: MNT-16223 - Different AOS versions on Alfresco one and Alfresco one Platform using the same build git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126679 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 94e3d8d2d2..5eaafe4edd 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.1 + 1.1.2-SNAPSHOT 5.1-20151118 From 3c660b40a2a557db7dddb832bd7f9791d236bc5d Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Wed, 11 May 2016 09:04:22 +0000 Subject: [PATCH 456/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 126309,126339 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@126680 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a2de2b397553863544a083450cb365a25cca749c Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Thu, 12 May 2016 08:49:38 +0000 Subject: [PATCH 457/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 126687 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127026 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From d3b51d6a4eb8faaaa986f2754f92a66317eab0ed Mon Sep 17 00:00:00 2001 From: Ramona Neamtu Date: Fri, 13 May 2016 13:34:29 +0000 Subject: [PATCH 458/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127046,127063 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127077 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 40624d7fe999f4879da56a08ccbde1f7dc242e47 Mon Sep 17 00:00:00 2001 From: Cristian Turlica Date: Mon, 16 May 2016 14:52:52 +0000 Subject: [PATCH 459/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127085,127102 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127132 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 0de711de963dff625e027cadb934eae8f321adbe Mon Sep 17 00:00:00 2001 From: Cristian Turlica Date: Tue, 17 May 2016 14:19:00 +0000 Subject: [PATCH 460/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127142,127158 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127171 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 879181aac4d5ca9aebf48a196dfb353d3c898ae4 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 18 May 2016 11:22:34 +0000 Subject: [PATCH 461/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) 127158 jphuynh: BDE-674: Pull Manager from Nexus instead of BINARIES. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@127190 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/pom.xml b/pom.xml index 904aafc238..585c369e59 100644 --- a/pom.xml +++ b/pom.xml @@ -245,6 +245,36 @@ win tgz + + + + org.alfresco + manager + ${installer.manager.version} + linux + tgz + + + org.alfresco + manager + ${installer.manager.version} + osx + tgz + + + org.alfresco + manager + ${installer.manager.version} + win32 + tgz + + + org.alfresco + manager + ${installer.manager.version} + win64 + tgz +
From 45c68e396bc8e92db3ad55ecf741c37f833d2ba9 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 18 May 2016 11:29:09 +0000 Subject: [PATCH 462/670] BDE-674: Pull Manager from Nexus instead of BINARIES. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127192 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 30 ++++++++++++++++++++++++++++++ pom.xml | 1 + 2 files changed, 31 insertions(+) diff --git a/installer/pom.xml b/installer/pom.xml index 87e3bbad0b..fd2196cc22 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -242,6 +242,36 @@ win tgz + + + + org.alfresco + manager + ${installer.manager.version} + linux + tgz + + + org.alfresco + manager + ${installer.manager.version} + osx + tgz + + + org.alfresco + manager + ${installer.manager.version} + win32 + tgz + + + org.alfresco + manager + ${installer.manager.version} + win64 + tgz +
diff --git a/pom.xml b/pom.xml index 5eaafe4edd..0d01263a21 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,7 @@ 4.4.5-20151016 8.64 6.9.1 + 1.0 ${maven.build.timestamp} From 1f30ab0b13ecba93a84b371b14e4ee4fa51607a4 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 18 May 2016 11:37:10 +0000 Subject: [PATCH 463/670] Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) (RECORD ONLY) : - 125527 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@127196 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 06f78b84d3cf66b6a8d5d6fa2b3d98d8ef9b63ea Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Wed, 18 May 2016 11:48:38 +0000 Subject: [PATCH 464/670] Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 127190 jphuynh: Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) 127158 jphuynh: BDE-674: Pull Manager from Nexus instead of BINARIES. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@127200 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/pom.xml b/pom.xml index 85ef4603e0..e79a9612cc 100644 --- a/pom.xml +++ b/pom.xml @@ -245,6 +245,36 @@ win tgz + + + + org.alfresco + manager + ${installer.manager.version} + linux + tgz + + + org.alfresco + manager + ${installer.manager.version} + osx + tgz + + + org.alfresco + manager + ${installer.manager.version} + win32 + tgz + + + org.alfresco + manager + ${installer.manager.version} + win64 + tgz +
From 231967da7ced4cfc00e7492b277eeaec44c5fc79 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Wed, 18 May 2016 14:25:48 +0000 Subject: [PATCH 465/670] Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) (RECORD ONLY) : - 127171 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@127211 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From aa5260d711d0821d59d13eadec2701c83c79608e Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Wed, 18 May 2016 14:29:03 +0000 Subject: [PATCH 466/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127179,127187 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127216 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 529bd4946422240f2f54d98be3812e44e9f7ebdd Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 19 May 2016 14:57:21 +0000 Subject: [PATCH 467/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127225,127234,127236 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127260 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 3cc104e553d8bcf1a2f58ca44761bd21da37544c Mon Sep 17 00:00:00 2001 From: Cristian Turlica Date: Fri, 20 May 2016 13:24:24 +0000 Subject: [PATCH 468/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127277,127278 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127296 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From e63e2e6a0997f0c7f1267872efb65f5718dc18d5 Mon Sep 17 00:00:00 2001 From: Raluca Munteanu Date: Tue, 24 May 2016 14:50:43 +0000 Subject: [PATCH 469/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127305,127306,127355 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127375 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 3319b6469f8b27c308533f0a097eafb3d3623110 Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Wed, 1 Jun 2016 13:29:36 +0000 Subject: [PATCH 470/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127458 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127467 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From c5445b1f15e2e7d4d70227368b01465ced5ee675 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 2 Jun 2016 14:55:50 +0000 Subject: [PATCH 471/670] Merged 5.2.N (5.2.2) to trunk (5.2) (RECORD ONLY) - Commits from trunk: 126267 - record only commits from 5.1.N: 126666,127017,127070,127127,127164,127196,127211, 127255,127291,127364,127401,127515 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127516 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 3e0bce08abc8797f5f3c3d171e8320e5e7556a2d Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 12:58:58 +0000 Subject: [PATCH 472/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124770 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124598 slanglois: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124596 slanglois: ACE-5135 Add aspecjrt jar to myfaces1_1-websphere-shared-lib git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127626 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ear/pom.xml b/ear/pom.xml index 534694d749..e42a6dbb00 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -157,6 +157,12 @@ 4.3.2 provided + + org.aspectj + aspectjrt + 1.8.2 + provided + From 66c2fbf73ecdd47821c6eb060a77693c4a1d4219 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:03:59 +0000 Subject: [PATCH 473/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124772 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124767 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124406 jphuynh: ACE-5135: Pre-apply share-services AMP in alfresco.war packaged in EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127627 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-war-for-ear/pom.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 36d2fc1789..f4e7cd5b15 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -22,6 +22,18 @@ ${alfresco.share.version} amp + + org.alfresco.aos-module + alfresco-aos-module + ${alfresco.aos-module.version} + amp + + + * + * + + + @@ -34,7 +46,7 @@ org.alfresco.maven.plugin alfresco-maven-plugin - 2.1.1 + 2.2.0 @@ -49,6 +61,11 @@ alfresco-share-services amp + + org.alfresco.aos-module + alfresco-aos-module + amp + From 40833506419ee48055046f524a6994611b8ab54e Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:05:07 +0000 Subject: [PATCH 474/670] Merged 5.2.N (5.2.1) to trunk (5.2) 124773 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124768 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124408 jphuynh: ACE-5135: Fixed alfresco-full-installation version git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127628 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 9157daf3177e3c6ee8e890c46a57e0e50830edc0 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:05:27 +0000 Subject: [PATCH 475/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125450 amorarasu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125343 rneamtu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125254 amukha: ACE-5130: [SUSE 12.0, Web Logic] - Admin Console - Install Application Assistant - Install Alfresco Failed - removed _vti_bin.war from the configuration as it is no longer shipped in the ear. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127629 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/src/main/application/META-INF/application.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml index a659dcb723..426a2d396c 100644 --- a/ear/src/main/application/META-INF/application.xml +++ b/ear/src/main/application/META-INF/application.xml @@ -20,10 +20,4 @@ / - - - _vti_bin.war - /_vti_bin - - From d0ba492e3f3274839d9a56acb9be175a5881c720 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:11:22 +0000 Subject: [PATCH 476/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125451 amorarasu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125344 rneamtu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125267 slanglois: MNT-16094 Remove ROOT.war from the Alfresco One EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127630 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 11 ----------- ear/src/main/application/META-INF/application.xml | 6 ------ 2 files changed, 17 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index e42a6dbb00..79dc0a58ab 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -36,12 +36,6 @@ ${alfresco.share.version} war - - org.alfresco - alfresco-server-root - ${alfresco.platform.version} - war - @@ -192,11 +186,6 @@ share share.war - - org.alfresco - alfresco-server-root - ROOT.war - diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml index 426a2d396c..badc540b66 100644 --- a/ear/src/main/application/META-INF/application.xml +++ b/ear/src/main/application/META-INF/application.xml @@ -14,10 +14,4 @@ /share - - - ROOT.war - / - - From 342bcf34cbb6abfa79214485fc374e7f94461cea Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:12:09 +0000 Subject: [PATCH 477/670] Merged 5.2.N (5.2.1) to trunk (5.2) 125810 rmunteanu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 125617 rmunteanu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 125598 slanglois: ACE-5253 Bring AOS (ROOT.war and _vti_bin.war) back into the EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127631 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 22 +++++++++++++++++++ .../main/application/META-INF/application.xml | 12 ++++++++++ 2 files changed, 34 insertions(+) diff --git a/ear/pom.xml b/ear/pom.xml index 79dc0a58ab..f56310e940 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -36,6 +36,18 @@ ${alfresco.share.version} war + + org.alfresco + alfresco-server-root + ${alfresco.platform.version} + war + + + org.alfresco.aos-module + alfresco-vti-bin + ${alfresco.aos-module.version} + war + @@ -186,6 +198,16 @@ share share.war + + org.alfresco + alfresco-server-root + ROOT.war + + + org.alfresco.aos-module + alfresco-vti-bin + _vti_bin.war + diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml index badc540b66..a659dcb723 100644 --- a/ear/src/main/application/META-INF/application.xml +++ b/ear/src/main/application/META-INF/application.xml @@ -14,4 +14,16 @@ /share + + + ROOT.war + / + + + + + _vti_bin.war + /_vti_bin + + From 27b8ab4f995ba5332458b099ad76c20af0dfceae Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:12:51 +0000 Subject: [PATCH 478/670] Merged 5.2.N (5.2.1) to trunk (5.2) 126117 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 126086 aleahu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 126048 jphuynh: MNT-16233: Use AOS 1.1.1. (Incomplete version bump from ACE-5133 done in Platform) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127632 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 434212c4d0..0f51a173d1 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1 + 1.1.1 5.1-20151118 From 19faa7b63aafc51b27a2a9f673f4c769fc18b8d9 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:13:17 +0000 Subject: [PATCH 479/670] Merged 5.2.N (5.2.1) to trunk (5.2) 126118 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 126116 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 126106 slanglois: MNT-16094 Apply alfresco-aos-module to alfresco.war in EAR git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127633 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From f8c3e48467edd6be417fc1d7bfe82062dbfbdc63 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:13:46 +0000 Subject: [PATCH 480/670] Merged 5.2.N (5.2.1) to trunk (5.2) 127016 amorarasu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 126679 rneamtu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 126277 skopf: MNT-16223 - Different AOS versions on Alfresco one and Alfresco one Platform using the same build git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127634 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0f51a173d1..dcc95b0223 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.1 + 1.1.2-SNAPSHOT 5.1-20151118 From 4a3b8f27f8dc5b6fd2f4f77177728e531eb6e9e7 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 13:14:27 +0000 Subject: [PATCH 481/670] Merged 5.2.N (5.2.1) to trunk (5.2) 127197 jphuynh: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 127192 jphuynh: BDE-674: Pull Manager from Nexus instead of BINARIES. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127635 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- installer/pom.xml | 30 ++++++++++++++++++++++++++++++ pom.xml | 1 + 2 files changed, 31 insertions(+) diff --git a/installer/pom.xml b/installer/pom.xml index 6ccdb88a73..21c50b9c7e 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -242,6 +242,36 @@ win tgz + + + + org.alfresco + manager + ${installer.manager.version} + linux + tgz + + + org.alfresco + manager + ${installer.manager.version} + osx + tgz + + + org.alfresco + manager + ${installer.manager.version} + win32 + tgz + + + org.alfresco + manager + ${installer.manager.version} + win64 + tgz + diff --git a/pom.xml b/pom.xml index dcc95b0223..217246d6fa 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,7 @@ 4.4.5-20151016 8.64 6.9.1 + 1.0 ${maven.build.timestamp} From 244f0c6c1e4d22c4e523cc00c3b81ac3ea865558 Mon Sep 17 00:00:00 2001 From: Alexandra Leahu Date: Fri, 3 Jun 2016 15:04:37 +0000 Subject: [PATCH 482/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127507 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127702 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From ac61b300625cf0ec37a160cd444f0fd33def0989 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 3 Jun 2016 16:03:12 +0000 Subject: [PATCH 483/670] Merged 5.2.N (5.2.1) to HEAD (5.2) 124281 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 124275 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 124171 jphuynh: MNT-15874: Fix missing Remote Solr configuration properties. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@127750 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 1db5a9804c..67dbda97bc 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -63,7 +63,8 @@ dir.license.external=@@BITROCK_ALFRESCO_LICENSE_DIR@@ ### Solr indexing ### index.subsystem.name=solr4 dir.keystore=${dir.root}/keystore -solr.port.ssl=@@BITROCK_TOMCAT_SSL_PORT@@ +solr.host=localhost +solr.port.ssl=@@BITROCK_SOLR_SSL_PORT@@ ### Smart Folders Config Properties ### smart.folders.enabled=false From 596bbb5174ac8bac7a9eb0cc0910194f58aa96cd Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 6 Jun 2016 09:21:19 +0000 Subject: [PATCH 484/670] Merged 5.2.N (5.2.1) to HEAD (5.2) 127200 jphuynh: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 127190 jphuynh: Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) 127158 jphuynh: BDE-674: Pull Manager from Nexus instead of BINARIES. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@127870 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/pom.xml b/pom.xml index 1f2d7fbdbc..15a91f1a49 100644 --- a/pom.xml +++ b/pom.xml @@ -245,6 +245,36 @@ win tgz + + + + org.alfresco + manager + ${installer.manager.version} + linux + tgz + + + org.alfresco + manager + ${installer.manager.version} + osx + tgz + + + org.alfresco + manager + ${installer.manager.version} + win32 + tgz + + + org.alfresco + manager + ${installer.manager.version} + win64 + tgz + From 65a833f5f6f6d3940fcc12e16605c5ba1e0087e7 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 6 Jun 2016 13:05:40 +0000 Subject: [PATCH 485/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127895 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@127933 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 78293fb69122c748c4f0ca2a8c89321c2fa3d6cc Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 6 Jun 2016 15:21:59 +0000 Subject: [PATCH 486/670] Merged 5.2.N (5.2.1) to trunk (5.2) (RECORD ONLY) : - 127927,127976 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@127977 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From b5359e7ac65d6d6830fc0232ceb558ab59e65814 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Tue, 7 Jun 2016 14:48:35 +0000 Subject: [PATCH 487/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 127999,128000,128002 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128014 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 0dd587ae04fc2b2d3dcb9706acd7abadb10c60fa Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Wed, 8 Jun 2016 14:55:24 +0000 Subject: [PATCH 488/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 128022 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128044 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 6903eb04c6b6bdd5281dcd3d6d52d6f19a44d401 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Fri, 17 Jun 2016 17:18:46 +0000 Subject: [PATCH 489/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 128165 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128191 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 7b807abda860d87fbfce49d5b706158d89520b7c Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 22 Jun 2016 09:32:46 +0000 Subject: [PATCH 490/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 128206 amukha: MNT-16334: AOSM is not working on any web server except Tomcat - Added susbstitutions for AOSM configuration for full ear file. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128240 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-war-for-ear/pom.xml | 295 +++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index ad181f8c66..43a4f7d027 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -50,6 +50,7 @@ + true org.alfresco @@ -68,6 +69,300 @@ + + + prepare-war + prepare-package + + exploded + + + + + + + + com.google.code.maven-replacer-plugin + replacer + + + aosm-in-web.xml + prepare-package + + replace + + + ${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml + + + ]]> + + Office Services Authentication Filter + org.alfresco.repo.web.filter.beans.BeanProxyFilter + + beanName + AosAuthenticationFilter + + + + + Office Services Filter + org.alfresco.module.aosmodule.service.ServiceFilter + + + + Office Services Context Root Filter + org.alfresco.module.aosmodule.service.ContextRootFilter + + ]]> + + + ]]> + + Office Services Authentication Filter + /aos/* + + + + Office Services Authentication Filter + /AosResponder_ServerRoot + FORWARD + + + + Office Services Authentication Filter + /AosResponder_Context + FORWARD + + + + Office Services Filter + /aos/* + + + + Office Services Context Root Filter + /* + + ]]> + + + ]]> + + AosAuthorService + org.alfresco.module.aosmodule.service.AuthorService + 5 + + + + AosBrowsingService + org.alfresco.module.aosmodule.service.BrowsingService + 5 + + + + AosCopyService + org.alfresco.module.aosmodule.service.CopyService + 5 + + + + AosDwsService + org.alfresco.module.aosmodule.service.DwsService + 5 + + + + AosListsService + org.alfresco.module.aosmodule.service.ListsService + 5 + + + + AosServiceDispatcher + org.alfresco.module.aosmodule.service.ServiceDispatcher + + + + AosSiteDataService + org.alfresco.module.aosmodule.service.SiteDataService + 5 + + + + AosVersionsService + org.alfresco.module.aosmodule.service.VersionsService + 5 + + + + AosViewsService + org.alfresco.module.aosmodule.service.ViewsService + 5 + + + + AosVtiInfService + org.alfresco.module.aosmodule.service.VtiInfService + 5 + + + + AosWebsService + org.alfresco.module.aosmodule.service.WebsService + 5 + + + + AosWebViewResourcesService + org.alfresco.module.aosmodule.service.WebViewResourcesService + 5 + + + + AosWebdavService + org.alfresco.module.aosmodule.service.WebdavService + 5 + + + + AosServerRootResponder + org.alfresco.module.aosmodule.service.ServerRootResponder + 5 + + + + AosContextResponder + org.alfresco.module.aosmodule.service.ContextResponder + 5 + + ]]> + + + + ]]> + + Office Services Authentication Filter + org.alfresco.repo.web.filter.beans.BeanProxyFilter + + beanName + AosAuthenticationFilter + + + + + Office Services Filter + org.alfresco.module.aosmodule.service.ServiceFilter + + + + Office Services Context Root Filter + org.alfresco.module.aosmodule.service.ContextRootFilter + + ]]> + + + ]]> + + AosServiceDispatcher + /aos/_vti_bin/shtml.dll/_vti_rpc + + + + AosAuthorService + /aos/_vti_bin/_vti_aut/author.dll + + + + AosBrowsingService + /aos/_vti_bin/owssvr.dll + + + + AosCopyService + /aos/_vti_bin/copy.asmx + + + + AosCopyService + /aos/_vti_bin/Copy.asmx + + + + AosDwsService + /aos/_vti_bin/dws.asmx + + + + AosListsService + /aos/_vti_bin/lists.asmx + + + + AosListsService + /aos/_vti_bin/Lists.asmx + + + + AosSiteDataService + /aos/_vti_bin/SiteData.asmx + + + + AosVersionsService + /aos/_vti_bin/versions.asmx + + + + AosViewsService + /aos/_vti_bin/views.asmx + + + + AosVtiInfService + /aos/_vti_inf.html + + + + AosWebsService + /aos/_vti_bin/webs.asmx + + + + AosWebsService + /aos/_vti_bin/Webs.asmx + + + + AosServerRootResponder + /AosResponder_ServerRoot + + + + AosContextResponder + /AosResponder_Context + + + + AosWebViewResourcesService + /aos/_aos_resources/* + + + + AosWebdavService + /aos/* + + ]]> + + + + + From 82d00de50f7ae8c4b9a6783b41895a0239f12a85 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 23 Jun 2016 08:23:29 +0000 Subject: [PATCH 491/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 128241 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128255 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 346d861523096023393370f16bb8c45e58ee93a9 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 24 Jun 2016 15:39:22 +0000 Subject: [PATCH 492/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 128260,128261,128286 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128344 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From a3eb1d22767f2060d7ba0b2f144e7b23559e3a4a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 28 Jun 2016 06:51:46 +0000 Subject: [PATCH 493/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 128379 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128391 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From f19a3f2246b877037dd7d1cc19af18ad6f45afb6 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 4 Jul 2016 14:03:11 +0000 Subject: [PATCH 494/670] Merged 5.0.N (5.0.4) to 5.1.N (5.1.2) (RECORD ONLY) : - 128403,128404,128405,128406,128407,128433,128478,128480, 128532,128535,128540 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@128543 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 0a96b93ac28dba1119ffe1c3d636ea9fd5abef1a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 21 Jul 2016 09:16:45 +0000 Subject: [PATCH 495/670] Change version to 5.2.0-CLOUD44-SNAPSHOT - pom.xml files changed - version.properties is already 5.2.0 so does not need to change until the first HF. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.0-CLOUD44/root@128855 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 15a91f1a49..4159e13f66 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.2-SNAPSHOT + 5.2.0-CLOUD44-SNAPSHOT alfresco-one-installer-resources jar From 1ff552c28867a40455f3c07350b44bfaed91e4f6 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 10 Aug 2016 09:50:42 +0000 Subject: [PATCH 496/670] Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 128754 slanglois: MNT-16391 Upgrade AOS Module to 1.1.3 in Full Installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.1.N@129412 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0d01263a21..9792e70143 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.2-SNAPSHOT + 1.1.3 5.1-20151118 From 024857b8ee95b7181db432a820af5b06331fb6c3 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 10 Aug 2016 09:52:51 +0000 Subject: [PATCH 497/670] Merged 5.2.N (5.2.1) to trunk (5.2) 129413 adavis: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 129412 adavis: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2) 128754 slanglois: MNT-16391 Upgrade AOS Module to 1.1.3 in Full Installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@129414 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 217246d6fa..5c827c17ee 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.2-SNAPSHOT + 1.1.3 5.1-20151118 From cc25898a6943424ef00a17efb337505549305800 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 12 Sep 2016 12:24:52 +0000 Subject: [PATCH 498/670] BDE-790: Change Alfresco One installers final naming. Community keeps the date based naming convention. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@130561 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 918910c78b..87942d86bd 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -60,7 +60,7 @@ - ${project.artifactId}-${installer.version.name} + ${project.artifactId}-${project.version} src/main/resources diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 8f37a491fa..15adf6f5db 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -33,6 +33,12 @@ alfresco-one alfresco-one-distribution + + + ${project.version} From 86cd0fdf5375885ea7f9c0117d7361a515a0ff5f Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 12 Sep 2016 12:28:13 +0000 Subject: [PATCH 499/670] Merged trunk (5.2) to 5.2.N (5.2.1) 130561 jphuynh: BDE-790: Change Alfresco One installers final naming. Community keeps the date based naming convention. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@130562 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index f5921103b1..ef2cf434ce 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -60,7 +60,7 @@ - ${project.artifactId}-${installer.version.name} + ${project.artifactId}-${project.version} src/main/resources diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 072072c834..26fdf99118 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -33,6 +33,12 @@ alfresco-one alfresco-one-distribution + + + ${project.version} From 8a7aca64b524595c2eeef5ff11a8b3641c929c8b Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 12 Sep 2016 14:48:34 +0000 Subject: [PATCH 500/670] BDE-790: Change EAR final naming. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@130579 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ear/pom.xml b/ear/pom.xml index f56310e940..a068cd74e8 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -172,7 +172,7 @@ - ${project.artifactId}-${installer.version.name} + ${project.artifactId}-${project.version} From d56df1571425a54bb915aabc2b238158d3ee6e75 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 12 Sep 2016 14:49:35 +0000 Subject: [PATCH 501/670] Merged trunk (5.2) to 5.2.N (5.2.1) 130579 jphuynh: BDE-790: Change EAR final naming. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@130580 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ear/pom.xml b/ear/pom.xml index 9ad3783d4f..1fd27af7bb 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -172,7 +172,7 @@ - ${project.artifactId}-${installer.version.name} + ${project.artifactId}-${project.version} From 1dfe3e2fc2f0e14a4958586ac4e55b2c0716c553 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 12 Sep 2016 15:25:09 +0000 Subject: [PATCH 502/670] BDE-790: Fix EAR last mentions to install.version.name git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@130582 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 2 +- ear/src/assembly/ear-distribution.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index a068cd74e8..71a437df42 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -275,7 +275,7 @@ src/assembly/myfaces-websphere.xml - myfaces1_1-websphere-shared-lib-${installer.version.name} + myfaces1_1-websphere-shared-lib-${project.version} false diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 35732d8b91..6cd5bda5b8 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -26,11 +26,11 @@ - ${project.build.directory}/myfaces1_1-websphere-shared-lib-${installer.version.name}.zip + ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip - ${project.build.directory}/alfresco-ear-distribution-${installer.version.name}.ear - alfresco-one-${installer.version.name}.ear + ${project.build.directory}/alfresco-ear-distribution-${project.version}.ear + alfresco-one-${project.version}.ear From 1e0fdf60822988ab31eb6bcba6d3dc4246cd5c34 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Huynh Date: Mon, 12 Sep 2016 15:25:59 +0000 Subject: [PATCH 503/670] Merged trunk (5.2) to 5.2.N (5.2.1) 130582 jphuynh: BDE-790: Fix EAR last mentions to install.version.name git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@130583 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 2 +- ear/src/assembly/ear-distribution.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 1fd27af7bb..b06ac82a50 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -275,7 +275,7 @@ src/assembly/myfaces-websphere.xml - myfaces1_1-websphere-shared-lib-${installer.version.name} + myfaces1_1-websphere-shared-lib-${project.version} false diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 35732d8b91..6cd5bda5b8 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -26,11 +26,11 @@ - ${project.build.directory}/myfaces1_1-websphere-shared-lib-${installer.version.name}.zip + ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip - ${project.build.directory}/alfresco-ear-distribution-${installer.version.name}.ear - alfresco-one-${installer.version.name}.ear + ${project.build.directory}/alfresco-ear-distribution-${project.version}.ear + alfresco-one-${project.version}.ear From 54d61922dc91a42c450df4556a309d054c718dd6 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 30 Sep 2016 16:02:22 +0000 Subject: [PATCH 504/670] ALF-21229: Installer: "View Readme File" option displays information-less file - Changed readme to point to the new community site. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@131124 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/main/resources/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 517e56f94d..7581560600 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -5,4 +5,4 @@ Contains: - Alfresco Platform: ${alfresco.platform.version} - Alfresco Share: ${alfresco.share.version} -See the Alfresco Wiki (https://wiki.alfresco.com) for release notes and detailed information on this release. +For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm From 7fb3929212ab80bc3df6489a44d3ddc183ad4e07 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 30 Sep 2016 16:27:40 +0000 Subject: [PATCH 505/670] Merged 5.2.N (5.2.1) to trunk (5.2) 131124 amukha: ALF-21229: Installer: "View Readme File" option displays information-less file - Changed readme to point to the new community site. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@131125 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/main/resources/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 517e56f94d..7581560600 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -5,4 +5,4 @@ Contains: - Alfresco Platform: ${alfresco.platform.version} - Alfresco Share: ${alfresco.share.version} -See the Alfresco Wiki (https://wiki.alfresco.com) for release notes and detailed information on this release. +For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm From 05a02a2166f8c14db38901be5800234afbe56637 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 26 Oct 2016 12:36:59 +0000 Subject: [PATCH 506/670] Merged 5.1.N (5.1.3) to 5.2.N (5.2.1) 131788 amukha: Merged 5.1.2 (5.1.2) to 5.1.N (5.1.3) 131783 slanglois: REPO-898 : Updated the AOSM version to the latest 1.1.4 in Full Installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@131789 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a1b95387ad..f2c3f08820 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.3 + 1.1.4 5.1-20151118 From 8138f61f8a2f60d0de061f422dc3ec96e4459131 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Thu, 27 Oct 2016 09:38:51 +0000 Subject: [PATCH 507/670] REPO-1260: Upgrade installer version of LibreOffice to 5.2.1 - Upgraded libreoffice to 5.2.1 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@131823 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f2c3f08820..2e6ec0adbf 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ 7.0.59-alfresco-distribution 1.8.0_65 9.4.4-20151016 - 4.4.5-20151016 + 5.2.1-alfresco 8.64 6.9.1 1.0 From 623cbf2f061c68c334e7161b9e7f8256a52726d2 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 28 Oct 2016 14:22:35 +0000 Subject: [PATCH 508/670] REPO-1472 Security: ACE-5512 Java 8 multiple vulnerabilities REPO-1481: Update POM files - Change the Java version put into the full installer. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@131865 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2e6ec0adbf..47f87e1577 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ 5.1-20151118 7.0.59-alfresco-distribution - 1.8.0_65 + 1.8.0_111 9.4.4-20151016 5.2.1-alfresco 8.64 From 5093fb7df0c9167b80c846ea0c72cd8ed923501e Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 10 Nov 2016 15:31:03 +0000 Subject: [PATCH 509/670] REPO-843 Upgrade our Servlet API usage to 3.0.1 (from 2.4 / 2.5) - Modified comments in jboss-deployment-structure.xml and weblogic-application.xml to indicate that the PLATFORM also has versions of these files. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@132647 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../META-INF/jboss-deployment-structure.xml | 4 + .../META-INF/weblogic-application.xml | 83 ++++++++++++------- 2 files changed, 56 insertions(+), 31 deletions(-) diff --git a/ear/src/main/application/META-INF/jboss-deployment-structure.xml b/ear/src/main/application/META-INF/jboss-deployment-structure.xml index c9218b8cd7..655e7c208d 100644 --- a/ear/src/main/application/META-INF/jboss-deployment-structure.xml +++ b/ear/src/main/application/META-INF/jboss-deployment-structure.xml @@ -1,5 +1,9 @@ + diff --git a/ear/src/main/application/META-INF/weblogic-application.xml b/ear/src/main/application/META-INF/weblogic-application.xml index dd479dc6ab..62846f6922 100644 --- a/ear/src/main/application/META-INF/weblogic-application.xml +++ b/ear/src/main/application/META-INF/weblogic-application.xml @@ -1,6 +1,11 @@ - + + + repoclient @@ -15,31 +20,39 @@ antlr.* - com.bea.faces.* com.ctc.wstx.* + com.fasterxml.jackson.* com.google.common.* com.sun.codemodel.* - com.sun.faces.* + com.sun.istack.* com.sun.mail.* com.sun.tools.* com.sun.xml.bind.* - com.sun.xml.ws.* - com.sun.xml.ws.api.* - com.sun.xml.ws.developer.* - com.sun.xml.ws.server.* - com.sun.xml.ws.transport.* - com.sun.xml.ws.util.* - javax.faces.* + javax.annotation.* + javax.annotation.security.* javax.wsdl.* javax.wsdl.extensions.* javax.wsdl.factory.* javax.wsdl.xml.* + javax.inject.* + javax.jms.* + javax.mail.* + javax.mail.event.* + javax.mail.internet.* + javax.mail.search.* + javax.mail.util.* + javax.management.j2ee.* + javax.transaction.* + javax.transaction.xa.* + javax.xml.rpc.* + net.jcip.annotations.* net.sf.cglib.* org.antlr.runtime.* + org.aopalliance.aop.* + org.aopalliance.intercept.* org.apache.commons.* org.apache.oro.* org.apache.taglibs.* - org.apache.tools.* org.apache.xerces.* org.apache.xmlbeans.* org.apache.xmlcommons.* @@ -55,12 +68,10 @@ org.bouncycastle.util.* org.bouncycastle.voms.* org.bouncycastle.x509.* - org.codehaus.jackson.* + org.codehaus.jackson.* org.codehaus.stax2.* org.joda.time.* org.jvnet.fastinfoset.* - org.jvnet.mimepull.* - org.jvnet.staxex.* org.kohsuke.rngom.* org.mozilla.* org.objectweb.asm.* @@ -79,28 +90,38 @@ schemaorg_apache_xmlbeans.system.sXMLLANG.* schemaorg_apache_xmlbeans.system.sXMLSCHEMA.* schemaorg_apache_xmlbeans.system.sXMLTOOLS.* + + - javax.faces.* - com.sun.faces.* - com.bea.faces.* META-INF/services/javax.servlet.ServletContainerInitializer - META-INF/services/com.sun.tools.ws.api.wsdl.TWSDLExtensionHandler - META-INF/services/com.sun.tools.ws.processor.generator.GeneratorBase - META-INF/services/com.sun.tools.ws.processor.generator.GeneratorExtension - META-INF/services/com.sun.xml.ws.api.BindingIDFactory - META-INF/services/com.sun.xml.ws.api.client.ServiceInterceptorFactory - META-INF/services/com.sun.xml.ws.api.wsdl.parser.WSDLParserExtension - META-INF/services/com.sun.xml.ws.api.wsdl.writer.WSDLGeneratorExtension - META-INF/services/com.sun.xml.ws.spi.db.BindingContextFactory - META-INF/services/com.sun.xml.ws.spi.db.DatabindingProvider META-INF/services/javax.xml.bind.JAXBContext - META-INF/services/javax.xml.soap.MessageFactory - META-INF/services/javax.xml.soap.MetaFactory - META-INF/services/javax.xml.soap.SOAPConnectionFactory - META-INF/services/javax.xml.soap.SOAPElementFactory - META-INF/services/javax.xml.soap.SOAPFactory META-INF/services/javax.xml.ws.spi.Provider From a3bc1f63b2eb6c44a366126623098d67b4fecf39 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 10 Nov 2016 15:32:39 +0000 Subject: [PATCH 510/670] Merged 5.2.N (5.2.1) to trunk (5.2) 131789 amukha: Merged 5.1.N (5.1.3) to 5.2.N (5.2.1) 131788 amukha: Merged 5.1.2 (5.1.2) to 5.1.N (5.1.3) 131783 slanglois: REPO-898 : Updated the AOSM version to the latest 1.1.4 in Full Installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@132648 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5c827c17ee..73d6e6566c 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.3 + 1.1.4 5.1-20151118 From 38dbf2020bfb551b047d7ca8801dce2d24e486cc Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 10 Nov 2016 15:34:52 +0000 Subject: [PATCH 511/670] Merged 5.2.N (5.2.1) to trunk (5.2) 131823 amukha: REPO-1260: Upgrade installer version of LibreOffice to 5.2.1 - Upgraded libreoffice to 5.2.1 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@132649 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 73d6e6566c..cc2e44ad9a 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ 7.0.59-alfresco-distribution 1.8.0_65 9.4.4-20151016 - 4.4.5-20151016 + 5.2.1-alfresco 8.64 6.9.1 1.0 From f16b48cfe0ef0c17ac39acbbe9b49357087cd043 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 10 Nov 2016 15:35:09 +0000 Subject: [PATCH 512/670] Merged 5.2.N (5.2.1) to trunk (5.2) 131865 amukha: REPO-1472 Security: ACE-5512 Java 8 multiple vulnerabilities REPO-1481: Update POM files - Change the Java version put into the full installer. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@132650 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cc2e44ad9a..f2aa380407 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ 5.1-20151118 7.0.59-alfresco-distribution - 1.8.0_65 + 1.8.0_111 9.4.4-20151016 5.2.1-alfresco 8.64 From 258d8fee40e0be08b29abb07e5ab49fa2ddc11f5 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 10 Nov 2016 15:35:21 +0000 Subject: [PATCH 513/670] Merged 5.2.N (5.2.1) to trunk (5.2) 132647 adavis: REPO-843 Upgrade our Servlet API usage to 3.0.1 (from 2.4 / 2.5) - Modified comments in jboss-deployment-structure.xml and weblogic-application.xml to indicate that the PLATFORM also has versions of these files. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@132651 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../META-INF/jboss-deployment-structure.xml | 4 + .../META-INF/weblogic-application.xml | 83 ++++++++++++------- 2 files changed, 56 insertions(+), 31 deletions(-) diff --git a/ear/src/main/application/META-INF/jboss-deployment-structure.xml b/ear/src/main/application/META-INF/jboss-deployment-structure.xml index c9218b8cd7..655e7c208d 100644 --- a/ear/src/main/application/META-INF/jboss-deployment-structure.xml +++ b/ear/src/main/application/META-INF/jboss-deployment-structure.xml @@ -1,5 +1,9 @@ + diff --git a/ear/src/main/application/META-INF/weblogic-application.xml b/ear/src/main/application/META-INF/weblogic-application.xml index dd479dc6ab..62846f6922 100644 --- a/ear/src/main/application/META-INF/weblogic-application.xml +++ b/ear/src/main/application/META-INF/weblogic-application.xml @@ -1,6 +1,11 @@ - + + + repoclient @@ -15,31 +20,39 @@ antlr.* - com.bea.faces.* com.ctc.wstx.* + com.fasterxml.jackson.* com.google.common.* com.sun.codemodel.* - com.sun.faces.* + com.sun.istack.* com.sun.mail.* com.sun.tools.* com.sun.xml.bind.* - com.sun.xml.ws.* - com.sun.xml.ws.api.* - com.sun.xml.ws.developer.* - com.sun.xml.ws.server.* - com.sun.xml.ws.transport.* - com.sun.xml.ws.util.* - javax.faces.* + javax.annotation.* + javax.annotation.security.* javax.wsdl.* javax.wsdl.extensions.* javax.wsdl.factory.* javax.wsdl.xml.* + javax.inject.* + javax.jms.* + javax.mail.* + javax.mail.event.* + javax.mail.internet.* + javax.mail.search.* + javax.mail.util.* + javax.management.j2ee.* + javax.transaction.* + javax.transaction.xa.* + javax.xml.rpc.* + net.jcip.annotations.* net.sf.cglib.* org.antlr.runtime.* + org.aopalliance.aop.* + org.aopalliance.intercept.* org.apache.commons.* org.apache.oro.* org.apache.taglibs.* - org.apache.tools.* org.apache.xerces.* org.apache.xmlbeans.* org.apache.xmlcommons.* @@ -55,12 +68,10 @@ org.bouncycastle.util.* org.bouncycastle.voms.* org.bouncycastle.x509.* - org.codehaus.jackson.* + org.codehaus.jackson.* org.codehaus.stax2.* org.joda.time.* org.jvnet.fastinfoset.* - org.jvnet.mimepull.* - org.jvnet.staxex.* org.kohsuke.rngom.* org.mozilla.* org.objectweb.asm.* @@ -79,28 +90,38 @@ schemaorg_apache_xmlbeans.system.sXMLLANG.* schemaorg_apache_xmlbeans.system.sXMLSCHEMA.* schemaorg_apache_xmlbeans.system.sXMLTOOLS.* + + - javax.faces.* - com.sun.faces.* - com.bea.faces.* META-INF/services/javax.servlet.ServletContainerInitializer - META-INF/services/com.sun.tools.ws.api.wsdl.TWSDLExtensionHandler - META-INF/services/com.sun.tools.ws.processor.generator.GeneratorBase - META-INF/services/com.sun.tools.ws.processor.generator.GeneratorExtension - META-INF/services/com.sun.xml.ws.api.BindingIDFactory - META-INF/services/com.sun.xml.ws.api.client.ServiceInterceptorFactory - META-INF/services/com.sun.xml.ws.api.wsdl.parser.WSDLParserExtension - META-INF/services/com.sun.xml.ws.api.wsdl.writer.WSDLGeneratorExtension - META-INF/services/com.sun.xml.ws.spi.db.BindingContextFactory - META-INF/services/com.sun.xml.ws.spi.db.DatabindingProvider META-INF/services/javax.xml.bind.JAXBContext - META-INF/services/javax.xml.soap.MessageFactory - META-INF/services/javax.xml.soap.MetaFactory - META-INF/services/javax.xml.soap.SOAPConnectionFactory - META-INF/services/javax.xml.soap.SOAPElementFactory - META-INF/services/javax.xml.soap.SOAPFactory META-INF/services/javax.xml.ws.spi.Provider From c595a39b19e3f516f67030d2dbf25a89fc71dfe3 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Tue, 15 Nov 2016 13:09:09 +0000 Subject: [PATCH 514/670] REPO-1238 / REPO-1567: Websphere doesn't start with OpenCMIS 1.0.0 - Update jaxb libraries versions for the full installer as well. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@132775 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ear/pom.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ear/pom.xml b/ear/pom.xml index b06ac82a50..614efd107e 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -145,10 +145,16 @@ jaxb-impl provided + + com.sun.xml.bind + jaxb-core + 2.2.11 + provided + javax.xml.bind jaxb-api - 2.1 + 2.2.12 provided From 7c0bcba72f031266250aa3ce0ad70e77f8ec3e1d Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Wed, 16 Nov 2016 17:48:45 +0000 Subject: [PATCH 515/670] REPO-1238 / REPO-1567: Websphere doesn't start with OpenCMIS 1.0.0 - Add the DisableIBMJAXWSEngine property for the full distribution, because alfresco.war is repackaged. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@132846 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-war-for-ear/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index e35647248b..3e1a17e67a 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -68,6 +68,12 @@ amp + + + + true + + From c0166a1d7ad28250ac379894a5c3ab34e7f4d4b1 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Wed, 23 Nov 2016 14:24:35 +0000 Subject: [PATCH 516/670] REPO-1541: Revert changes done to web.xml in MNT-16334 due to Servlet 2.5 limitation - AOSM uses web fragments. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@133049 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-war-for-ear/pom.xml | 294 --------------------------------- 1 file changed, 294 deletions(-) diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 3e1a17e67a..6c20928d80 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -75,300 +75,6 @@ - - - prepare-war - prepare-package - - exploded - - - - - - - - com.google.code.maven-replacer-plugin - replacer - - - aosm-in-web.xml - prepare-package - - replace - - - ${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml - - - ]]> - - Office Services Authentication Filter - org.alfresco.repo.web.filter.beans.BeanProxyFilter - - beanName - AosAuthenticationFilter - - - - - Office Services Filter - org.alfresco.module.aosmodule.service.ServiceFilter - - - - Office Services Context Root Filter - org.alfresco.module.aosmodule.service.ContextRootFilter - - ]]> - - - ]]> - - Office Services Authentication Filter - /aos/* - - - - Office Services Authentication Filter - /AosResponder_ServerRoot - FORWARD - - - - Office Services Authentication Filter - /AosResponder_Context - FORWARD - - - - Office Services Filter - /aos/* - - - - Office Services Context Root Filter - /* - - ]]> - - - ]]> - - AosAuthorService - org.alfresco.module.aosmodule.service.AuthorService - 5 - - - - AosBrowsingService - org.alfresco.module.aosmodule.service.BrowsingService - 5 - - - - AosCopyService - org.alfresco.module.aosmodule.service.CopyService - 5 - - - - AosDwsService - org.alfresco.module.aosmodule.service.DwsService - 5 - - - - AosListsService - org.alfresco.module.aosmodule.service.ListsService - 5 - - - - AosServiceDispatcher - org.alfresco.module.aosmodule.service.ServiceDispatcher - - - - AosSiteDataService - org.alfresco.module.aosmodule.service.SiteDataService - 5 - - - - AosVersionsService - org.alfresco.module.aosmodule.service.VersionsService - 5 - - - - AosViewsService - org.alfresco.module.aosmodule.service.ViewsService - 5 - - - - AosVtiInfService - org.alfresco.module.aosmodule.service.VtiInfService - 5 - - - - AosWebsService - org.alfresco.module.aosmodule.service.WebsService - 5 - - - - AosWebViewResourcesService - org.alfresco.module.aosmodule.service.WebViewResourcesService - 5 - - - - AosWebdavService - org.alfresco.module.aosmodule.service.WebdavService - 5 - - - - AosServerRootResponder - org.alfresco.module.aosmodule.service.ServerRootResponder - 5 - - - - AosContextResponder - org.alfresco.module.aosmodule.service.ContextResponder - 5 - - ]]> - - - - ]]> - - Office Services Authentication Filter - org.alfresco.repo.web.filter.beans.BeanProxyFilter - - beanName - AosAuthenticationFilter - - - - - Office Services Filter - org.alfresco.module.aosmodule.service.ServiceFilter - - - - Office Services Context Root Filter - org.alfresco.module.aosmodule.service.ContextRootFilter - - ]]> - - - ]]> - - AosServiceDispatcher - /aos/_vti_bin/shtml.dll/_vti_rpc - - - - AosAuthorService - /aos/_vti_bin/_vti_aut/author.dll - - - - AosBrowsingService - /aos/_vti_bin/owssvr.dll - - - - AosCopyService - /aos/_vti_bin/copy.asmx - - - - AosCopyService - /aos/_vti_bin/Copy.asmx - - - - AosDwsService - /aos/_vti_bin/dws.asmx - - - - AosListsService - /aos/_vti_bin/lists.asmx - - - - AosListsService - /aos/_vti_bin/Lists.asmx - - - - AosSiteDataService - /aos/_vti_bin/SiteData.asmx - - - - AosVersionsService - /aos/_vti_bin/versions.asmx - - - - AosViewsService - /aos/_vti_bin/views.asmx - - - - AosVtiInfService - /aos/_vti_inf.html - - - - AosWebsService - /aos/_vti_bin/webs.asmx - - - - AosWebsService - /aos/_vti_bin/Webs.asmx - - - - AosServerRootResponder - /AosResponder_ServerRoot - - - - AosContextResponder - /AosResponder_Context - - - - AosWebViewResourcesService - /aos/_aos_resources/* - - - - AosWebdavService - /aos/* - - ]]> - - - - - From 54785de9217ed005cf7210ce4a38d0edb3ba69cb Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 28 Nov 2016 20:16:59 +0000 Subject: [PATCH 517/670] Merged 5.2.N_REBRANDING (5.2.1) to 5.2.N (5.2.1) 133123 adavis: REPO-1458 build artifact names git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@133230 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e79a9612cc..3a3c9f66bc 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ alfresco-enterprise-packaging 5.2.1-SNAPSHOT - alfresco-one-installer-resources + alfresco-content-services-installer-resources jar Alfresco One Installer Resources + Platform Installers @@ -305,7 +305,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${project.version} zip ${project.build.directory}/distribution From 20c29e88fd09c55ad096e671465648aae5b1fb79 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 28 Nov 2016 20:21:49 +0000 Subject: [PATCH 518/670] Merged 5.2.N_REBRANDING (5.2.1) to 5.2.N (5.2.1) 133144 adavis: REPO-1458 - Installer changes (from Andy H) - Found a couple of "Alfresco One" references in the installer. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@133233 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3a3c9f66bc..c5ccff1d22 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ alfresco-content-services-installer-resources jar - Alfresco One Installer Resources + Platform Installers + Alfresco Content Services Installer Resources + Platform Installers ${user.home}/binaries @@ -18,7 +18,7 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} - project.fullName='Alfresco One Platform' + project.fullName='Alfresco Content Services Platform' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From d37e1e6793de6557963baf570bb79c8509c4b36a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 28 Nov 2016 20:58:14 +0000 Subject: [PATCH 519/670] Merged 5.2.N_REBRANDING (5.2.N_REBRANDING) to 5.2.N (5.2.1) 133125 adavis: REPO-1458 build artifact names git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@133250 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- distribution/src/assembly/full-distribution.xml | 2 +- ear/pom.xml | 8 ++++---- ear/src/assembly/ear-distribution.xml | 6 +++--- enterprise-distribution/pom.xml | 6 +++--- enterprise-installer/pom.xml | 10 +++++----- installer/pom.xml | 4 ++-- pom.xml | 2 +- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 14c824b05b..cb3f7287a6 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2.1-SNAPSHOT - alfresco-community-distribution + alfresco-content-services-community-distribution jar Alfresco Full Distribution (Community Edition) diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index a432329af8..badca5ce46 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -20,7 +20,7 @@ - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version} diff --git a/ear/pom.xml b/ear/pom.xml index 614efd107e..e1b3923ae1 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -53,7 +53,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${alfresco.platform.version} zip provided @@ -228,9 +228,9 @@ unpack-dependencies - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip true - alfresco-one-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/modules/ + alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/modules/ @@ -262,7 +262,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/lib diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 6cd5bda5b8..efe3f8711e 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,14 +8,14 @@ - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath @@ -30,7 +30,7 @@ ${project.build.directory}/alfresco-ear-distribution-${project.version}.ear - alfresco-one-${project.version}.ear + alfresco-content-services-${project.version}.ear diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index ef2cf434ce..34469fdbf6 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2.1-SNAPSHOT - alfresco-one-distribution + alfresco-content-services-distribution jar Alfresco Full Distribution (Enterprise Edition) @@ -19,7 +19,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${alfresco.platform.version} zip @@ -81,7 +81,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${alfresco.platform.version} zip diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 26fdf99118..0890d5a58b 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2.1-SNAPSHOT - alfresco-one-installer + alfresco-content-services-installer pom Alfresco Enterprise Full Installers @@ -32,7 +32,7 @@ alfresco-one - alfresco-one-distribution + alfresco-content-services-distribution org.alfresco - alfresco-community-installer + alfresco-content-services-community-installer ${project.version} pom @@ -73,13 +73,13 @@ org.alfresco - alfresco-one-installer-resources + alfresco-content-services-installer-resources ${alfresco.platform.version} ${project.build.directory}/classes org.alfresco - alfresco-one-distribution + alfresco-content-services-distribution ${project.version} zip ${project.build.directory}/distribution diff --git a/installer/pom.xml b/installer/pom.xml index 57b2ac3013..8b079d195b 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2.1-SNAPSHOT - alfresco-community-installer + alfresco-content-services-community-installer pom Alfresco Community Full Installers @@ -302,7 +302,7 @@ org.alfresco - alfresco-community-distribution + alfresco-content-services-community-distribution ${project.version} zip ${project.build.directory}/distribution diff --git a/pom.xml b/pom.xml index 47f87e1577..eb4143e9da 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ --> ${installer.build.timestamp}-${installer.build.number} - alfresco-community + alfresco-content-services-community ${alfresco.package.name}-distribution From 8c2c493bc6a3bd79dd1ded9e595ddd24a918b2cc Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 28 Nov 2016 20:58:26 +0000 Subject: [PATCH 520/670] Merged 5.2.N_REBRANDING (5.2.N_REBRANDING) to 5.2.N (5.2.1) 133143 adavis: REPO-1458 Found a couple of "Alfresco One" references in the installer. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@133251 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-distribution/src/main/resources/README.txt | 8 ++++---- enterprise-installer/pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index 7091aa83ca..66e5741715 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -1,8 +1,8 @@ -Alfresco One (Build: ${installer.version.name}) -=============================== +Alfresco Content Services (Build: ${installer.version.name}) +============================================== Contains: - - Alfresco One Platform: ${alfresco.platform.version} - - Alfresco One Share: ${alfresco.share.version} + - Alfresco Content Services Platform: ${alfresco.platform.version} + - Alfresco Content Services Share: ${alfresco.share.version} See the Alfresco Support Portal (http://support.alfresco.com) for release notes and detailed information on this release. diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 0890d5a58b..561aa77a74 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco One' + project.fullName='Alfresco Content Services' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 From 7601bf991a08271df5ed23f57d9ce12accbe7f5b Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 28 Nov 2016 20:58:37 +0000 Subject: [PATCH 521/670] Merged 5.2.N_REBRANDING (5.2.N_REBRANDING) to 5.2.N (5.2.1) 133153 adavis: REPO-1458 Installer changes alfresco-one-ear-distribution git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@133252 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- enterprise-installer/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 561aa77a74..b50b28bdc6 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -31,7 +31,7 @@ - alfresco-one + alfresco-content-services alfresco-content-services-distribution org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip @@ -94,7 +94,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip diff --git a/ear/pom.xml b/ear/pom.xml index e1b3923ae1..5b7918be09 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -66,7 +66,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip provided @@ -241,10 +241,10 @@ unpack-dependencies - alfresco-share-distribution + alfresco-content-services-share-distribution true * - alfresco-share-distribution-${alfresco.share.version}/web-extension-samples/ + alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples/ diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 34469fdbf6..7d624e7ca4 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -47,7 +47,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip @@ -94,7 +94,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip From 235ce4c5799fc9a3e33967f3cd65a0444a02e6ba Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 29 Nov 2016 10:15:17 +0000 Subject: [PATCH 525/670] Merged 5.2.0 (5.2.0) to trunk (5.2) (RECORD ONLY) : - 133265 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@133266 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 3fe63186acea609d4f8b38aafc27a604cf6c51f5 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 29 Nov 2016 16:05:48 +0000 Subject: [PATCH 526/670] Merged 5.2.N_REBRANDING (5.2.N_REBRANDING) to 5.2.N (5.2.1) 133279: REPO-1458 Fix paths to alfresco-content-services-share-distribution git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@133281 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/src/assembly/full-distribution.xml | 4 ++-- ear/src/assembly/ear-distribution.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index badca5ce46..ec4c83d42c 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -42,7 +42,7 @@ - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version} web-server/** @@ -51,7 +51,7 @@ - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples web-server/shared/classes/alfresco/web-extension diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index efe3f8711e..e800040508 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -19,7 +19,7 @@ web-server/classpath - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples web-server/classpath/alfresco/web-extension From cccf521fb0ac69bc121ddc4f26befb333a757d87 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 29 Nov 2016 16:55:50 +0000 Subject: [PATCH 527/670] Merged 5.2.0 (5.2.0) to trunk (5.2) (RECORD ONLY) : 133283 / 133281 (to be merged later) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@133284 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From 24ccfb0dcdcdebb494da46b7082319d1db4884f9 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 19 Dec 2016 14:19:47 +0000 Subject: [PATCH 528/670] MNT-17283: Alfresco One 5.1.2 depends on unreleased version of AOS - Updated AOSM version. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@133889 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index eb4143e9da..fa22877fc5 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.4 + 1.1.5 5.1-20151118 From 42a5b632a58fd3e389aac9d7e82d02f69b67ba24 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Tue, 3 Jan 2017 10:54:51 +0000 Subject: [PATCH 529/670] Merged 5.2.0 (5.2.0) to HEAD (5.2) 133894: ACE-5717: Merged 5.2.N (5.2.1) to 5.2.0 (5.2.0) 133889 amukha: MNT-17283: Alfresco One 5.1.2 depends on unreleased version of AOS - Updated AOSM version. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@134030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f2aa380407..c44489c3e5 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.4 + 1.1.5 5.1-20151118 From ec17295260fff75f7de93159df4a8d7108bef8ab Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 11 Jan 2017 10:28:37 +0000 Subject: [PATCH 530/670] Merged 5.2.0 (5.2.0) to HEAD (5.2) REPO-1710 Complete 5.2 branding items for Alfresco Community Edition - Deferred merges: 133228-133238,133589-133594,133748,133750-133761,133853-133854 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@134173 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 15a91f1a49..d47eb3b494 100644 --- a/pom.xml +++ b/pom.xml @@ -6,9 +6,9 @@ alfresco-enterprise-packaging 5.2-SNAPSHOT - alfresco-one-installer-resources + alfresco-content-services-installer-resources jar - Alfresco One Installer Resources + Platform Installers + Alfresco Content Services Installer Resources + Platform Installers ${user.home}/binaries @@ -18,7 +18,7 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} - project.fullName='Alfresco One Platform' + project.fullName='Alfresco Content Services Platform' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 @@ -305,7 +305,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${project.version} zip ${project.build.directory}/distribution From 562763bee12c6cdb2de2f24db87d1be728701d96 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 11 Jan 2017 12:36:11 +0000 Subject: [PATCH 531/670] Merged 5.2.0 (5.2.0) to trunk (5.2) (RECORD ONLY) : - 133259 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@134269 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 From c8de49013b6dc4af93cdbe81740d5487cc9697ad Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 11 Jan 2017 15:35:03 +0000 Subject: [PATCH 532/670] Merged 5.2.0 (5.2.0) to HEAD (5.2) REPO-1710 Complete 5.2 branding items for Alfresco Community Edition - Deferred merges: 128252,132775,132846,133049,133250-133252,133265,133283 - Both branches are now in sync except for version numbers git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@134287 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 6 ++--- .../src/assembly/full-distribution.xml | 6 ++--- ear/pom.xml | 22 ++++++++++++------- ear/src/assembly/ear-distribution.xml | 8 +++---- enterprise-distribution/pom.xml | 10 ++++----- .../src/main/resources/README.txt | 8 +++---- enterprise-installer/pom.xml | 14 ++++++------ enterprise-war-for-ear/pom.xml | 7 ++++++ installer/pom.xml | 4 ++-- pom.xml | 2 +- 10 files changed, 50 insertions(+), 37 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 5d824b869a..2a24c927fe 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2-SNAPSHOT - alfresco-community-distribution + alfresco-content-services-community-distribution jar Alfresco Full Distribution (Community Edition) @@ -47,7 +47,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip @@ -94,7 +94,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index a432329af8..ec4c83d42c 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -20,7 +20,7 @@ - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version} @@ -42,7 +42,7 @@ - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version} + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version} web-server/** @@ -51,7 +51,7 @@ - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples web-server/shared/classes/alfresco/web-extension diff --git a/ear/pom.xml b/ear/pom.xml index 71a437df42..323b189e68 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -53,7 +53,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${alfresco.platform.version} zip provided @@ -66,7 +66,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip provided @@ -145,10 +145,16 @@ jaxb-impl provided + + com.sun.xml.bind + jaxb-core + 2.2.11 + provided + javax.xml.bind jaxb-api - 2.1 + 2.2.12 provided @@ -222,9 +228,9 @@ unpack-dependencies - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip true - alfresco-one-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-one-platform-distributionzip-${alfresco.platform.version}/modules/ + alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/modules/ @@ -235,10 +241,10 @@ unpack-dependencies - alfresco-share-distribution + alfresco-content-services-share-distribution true * - alfresco-share-distribution-${alfresco.share.version}/web-extension-samples/ + alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples/ @@ -256,7 +262,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/lib diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 6cd5bda5b8..e800040508 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,18 +8,18 @@ - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-one-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes web-server/classpath - ${project.build.directory}/dependency/alfresco-share-distribution-${alfresco.share.version}/web-extension-samples + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples web-server/classpath/alfresco/web-extension @@ -30,7 +30,7 @@ ${project.build.directory}/alfresco-ear-distribution-${project.version}.ear - alfresco-one-${project.version}.ear + alfresco-content-services-${project.version}.ear diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 87942d86bd..155a29d26c 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2-SNAPSHOT - alfresco-one-distribution + alfresco-content-services-distribution jar Alfresco Full Distribution (Enterprise Edition) @@ -19,7 +19,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${alfresco.platform.version} zip @@ -47,7 +47,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip @@ -81,7 +81,7 @@ org.alfresco - alfresco-one-platform-distributionzip + alfresco-content-services-platform-distributionzip ${alfresco.platform.version} zip @@ -94,7 +94,7 @@ org.alfresco - alfresco-share-distribution + alfresco-content-services-share-distribution ${alfresco.share.version} zip diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index 7091aa83ca..66e5741715 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -1,8 +1,8 @@ -Alfresco One (Build: ${installer.version.name}) -=============================== +Alfresco Content Services (Build: ${installer.version.name}) +============================================== Contains: - - Alfresco One Platform: ${alfresco.platform.version} - - Alfresco One Share: ${alfresco.share.version} + - Alfresco Content Services Platform: ${alfresco.platform.version} + - Alfresco Content Services Share: ${alfresco.share.version} See the Alfresco Support Portal (http://support.alfresco.com) for release notes and detailed information on this release. diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 15adf6f5db..2571e99ad9 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2-SNAPSHOT - alfresco-one-installer + alfresco-content-services-installer pom Alfresco Enterprise Full Installers @@ -17,7 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco One' + project.fullName='Alfresco Content Services' project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 project.osxSigningPkcs12Password=${p12Password} project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 @@ -31,8 +31,8 @@ - alfresco-one - alfresco-one-distribution + alfresco-content-services + alfresco-content-services-distribution org.alfresco - alfresco-community-installer + alfresco-content-services-community-installer ${project.version} pom @@ -73,13 +73,13 @@ org.alfresco - alfresco-one-installer-resources + alfresco-content-services-installer-resources ${alfresco.platform.version} ${project.build.directory}/classes org.alfresco - alfresco-one-distribution + alfresco-content-services-distribution ${project.version} zip ${project.build.directory}/distribution diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index f4e7cd5b15..8f351422dc 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -50,6 +50,7 @@ + true org.alfresco @@ -67,6 +68,12 @@ amp + + + + true + + diff --git a/installer/pom.xml b/installer/pom.xml index 21c50b9c7e..db18687a89 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2-SNAPSHOT - alfresco-community-installer + alfresco-content-services-community-installer pom Alfresco Community Full Installers @@ -302,7 +302,7 @@ org.alfresco - alfresco-community-distribution + alfresco-content-services-community-distribution ${project.version} zip ${project.build.directory}/distribution diff --git a/pom.xml b/pom.xml index c44489c3e5..b679dff34f 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ --> ${installer.build.timestamp}-${installer.build.number} - alfresco-community + alfresco-content-services-community ${alfresco.package.name}-distribution From 81da9b4171d901410fd9fa7c9bf70c3dcca538cc Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 12 Jan 2017 13:59:03 +0000 Subject: [PATCH 533/670] REPO-1710 Retain 'alfresco-community' for zip and installer file names git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@134296 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- installer/pom.xml | 4 ++-- pom.xml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index a6fc6f1a2f..a99c817f3e 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2.1-SNAPSHOT - alfresco-content-services-community-distribution + alfresco-community-distribution jar Alfresco Full Distribution (Community Edition) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index b50b28bdc6..ea10bfcb91 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -45,7 +45,7 @@ org.alfresco - alfresco-content-services-community-installer + alfresco-community-installer ${project.version} pom diff --git a/installer/pom.xml b/installer/pom.xml index 8b079d195b..57b2ac3013 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2.1-SNAPSHOT - alfresco-content-services-community-installer + alfresco-community-installer pom Alfresco Community Full Installers @@ -302,7 +302,7 @@ org.alfresco - alfresco-content-services-community-distribution + alfresco-community-distribution ${project.version} zip ${project.build.directory}/distribution diff --git a/pom.xml b/pom.xml index fa22877fc5..6935f6f103 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ --> ${installer.build.timestamp}-${installer.build.number} - alfresco-content-services-community + alfresco-community ${alfresco.package.name}-distribution From fc0d45b94425729b36f6749dee7919cb8cde737c Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Thu, 12 Jan 2017 14:37:36 +0000 Subject: [PATCH 534/670] Merged 5.2.0 (5.2.0) to HEAD (5.2) 134298: Merged 5.2.N (5.2.1) to 5.2.0 (5.2.0) 134296: REPO-1710 Retain 'alfresco-community' for zip and installer file names git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/trunk@134299 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- installer/pom.xml | 4 ++-- pom.xml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 2a24c927fe..adaae49354 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2-SNAPSHOT - alfresco-content-services-community-distribution + alfresco-community-distribution jar Alfresco Full Distribution (Community Edition) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 2571e99ad9..56a9ec7092 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -45,7 +45,7 @@ org.alfresco - alfresco-content-services-community-installer + alfresco-community-installer ${project.version} pom diff --git a/installer/pom.xml b/installer/pom.xml index db18687a89..21c50b9c7e 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,7 +6,7 @@ alfresco-full-installation 5.2-SNAPSHOT - alfresco-content-services-community-installer + alfresco-community-installer pom Alfresco Community Full Installers @@ -302,7 +302,7 @@ org.alfresco - alfresco-content-services-community-distribution + alfresco-community-distribution ${project.version} zip ${project.build.directory}/distribution diff --git a/pom.xml b/pom.xml index b679dff34f..c44489c3e5 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ --> ${installer.build.timestamp}-${installer.build.number} - alfresco-content-services-community + alfresco-community ${alfresco.package.name}-distribution From 6305d7baef5a5b0b92c86ac9aba88e766daf634d Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 23 Mar 2017 17:04:03 +0000 Subject: [PATCH 535/670] MNT-17200: update ImageMagick to 7.0.5 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@136063 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6935f6f103..7e79649ac6 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ 9.4.4-20151016 5.2.1-alfresco 8.64 - 6.9.1 + 7.0.5 1.0 From efce257c681fe3965a123f3e404bca848e02fc94 Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Thu, 18 May 2017 09:08:43 +0000 Subject: [PATCH 536/670] Merged REPO-2057 (5.2.1) to 5.2.N (5.2.1) 136647 anechifor: REPO-2057 : GS Replacement: Remove GhostScript from the code base (installer, Admin Console et al.) - I remove GhostScript and change pom.xml from installer to build locally. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@136787 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 44 +++++++++++++------------------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/pom.xml b/pom.xml index c5ccff1d22..332942f9d7 100644 --- a/pom.xml +++ b/pom.xml @@ -10,11 +10,22 @@ jar Alfresco Content Services Installer Resources + Platform Installers - + ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml + + project.outputDirectory=${project.build.directory} + project.version=${project.version} + project.fullName='Alfresco Content Services Platform' + alfresco_edition=enterprise + alfresco_package='${alfresco.package.name}' + alfrescogoogledocs_component_enabled=0 + alfrescosolr_component_enabled=0 + alfrescowcmqs_component_enabled=0 + + @@ -163,36 +175,6 @@ tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - linux - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - osx - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win32 - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win64 - tgz - - org.imagemagick From f61b27c7edca3d57db467d508d6cec0787f25dba Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Thu, 18 May 2017 09:09:01 +0000 Subject: [PATCH 537/670] Merged REPO-2057 (5.2.1) to 5.2.N (5.2.1) 136648 anechifor: REPO-2057 : GS Replacement: Remove GhostScript from the code base (installer, Admin Console et al.) - I remove ghostscript git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@136788 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index 332942f9d7..6976ecdf94 100644 --- a/pom.xml +++ b/pom.xml @@ -15,17 +15,6 @@ ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - - project.outputDirectory=${project.build.directory} - project.version=${project.version} - project.fullName='Alfresco Content Services Platform' - alfresco_edition=enterprise - alfresco_package='${alfresco.package.name}' - alfrescogoogledocs_component_enabled=0 - alfrescosolr_component_enabled=0 - alfrescowcmqs_component_enabled=0 - - From 2aa31995b984843ec41b6c664b6ae14af84a7d10 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 24 May 2017 11:31:54 +0100 Subject: [PATCH 538/670] REPO-2485 Update version of common libs --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7e79649ac6..9f6da5077f 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.1.5 - 5.1-20151118 + 5.2-20170508 7.0.59-alfresco-distribution 1.8.0_111 9.4.4-20151016 From 623c9c1e31a5b5ce40a80562a88bc7d3e8f97906 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 24 May 2017 22:52:31 +0100 Subject: [PATCH 539/670] REPO-2483 Change ear artefact name --- ear/pom.xml | 2 +- ear/src/assembly/ear-distribution.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 5b7918be09..9f47aa0706 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -1,6 +1,6 @@ 4.0.0 - alfresco-ear-distribution + alfresco-content-services-ear-distribution Alfresco EAR Distribution org.alfresco diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index e800040508..7b6bde3e30 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -29,7 +29,7 @@ ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip - ${project.build.directory}/alfresco-ear-distribution-${project.version}.ear + ${project.build.directory}/alfresco-content-services-ear-distribution-${project.version}.ear alfresco-content-services-${project.version}.ear From 5670e0b27a2f1e3bf3018f3c488d6bbd006be779 Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Thu, 25 May 2017 11:45:53 +0100 Subject: [PATCH 540/670] REPO-2481 Updated AOS artifacts for installer to 1.1.6 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9f6da5077f..30a2ff8f1e 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.3 - 1.1.5 + 1.1.6 5.2-20170508 From b80008e89425c5a89a301dac1f5a92b6aa8670ed Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 29 May 2017 18:57:11 +0000 Subject: [PATCH 541/670] REPO-2463 MNT-17909 Disable win32 installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@136979 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/pom.xml b/pom.xml index 6976ecdf94..9f6532376f 100644 --- a/pom.xml +++ b/pom.xml @@ -65,13 +65,6 @@ osx tgz - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - win32 - tgz - org.apache.tomcat tomcat @@ -94,13 +87,6 @@ ${installer.postgresql.version} osx tgz - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - win32 - tgz org.postgresql @@ -124,13 +110,6 @@ ${installer.java.version} osx tgz - - - com.oracle.java - jre - ${installer.java.version} - win32 - tgz com.oracle.java @@ -178,13 +157,6 @@ osx tgz - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - win32 - tgz - org.imagemagick imagemagick-distribution @@ -231,13 +203,6 @@ osx tgz - - org.alfresco - manager - ${installer.manager.version} - win32 - tgz - org.alfresco manager From c935037b195e4184cafd29f822ee719ee4bef00c Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Tue, 30 May 2017 09:59:46 +0100 Subject: [PATCH 542/670] GOOGLEDOCS-394 googledocs upgrade to 3.0.4 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 30a2ff8f1e..efc4cfe78f 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.2.1-SNAPSHOT - 3.0.3 + 3.0.4 1.1.6 From 0cc5e3c2afecdc4d52ac4ec889c6b03c02b7dae7 Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Thu, 1 Jun 2017 12:30:46 +0000 Subject: [PATCH 543/670] Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136847 anechifor: Added PDFIUM installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137095 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pom.xml b/pom.xml index 9f6532376f..f10d09e205 100644 --- a/pom.xml +++ b/pom.xml @@ -165,6 +165,30 @@ tgz + + + + org.alfresco + alfresco-pdf-renderer + ${installer.pdfium.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.pdfium.version} + osx + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.pdfium.version} + win64 + tgz + + com.bitnami From 9ca3ebd1739072968d0eb0d756ea6a7ffdde5184 Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Thu, 1 Jun 2017 12:31:07 +0000 Subject: [PATCH 544/670] Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136870 anechifor: changes pdfium->alfresco-pdf-renderer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137096 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index f10d09e205..c515ffa5e9 100644 --- a/pom.xml +++ b/pom.xml @@ -10,11 +10,22 @@ jar Alfresco Content Services Installer Resources + Platform Installers - + ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml + + project.outputDirectory=${project.build.directory} + project.version=${project.version} + project.fullName='Alfresco Content Services Platform' + alfresco_edition=enterprise + alfresco_package='${alfresco.package.name}' + alfrescogoogledocs_component_enabled=0 + alfrescosolr_component_enabled=0 + alfrescowcmqs_component_enabled=0 + + @@ -166,25 +178,25 @@ - + org.alfresco alfresco-pdf-renderer - ${installer.pdfium.version} + ${installer.alfresco-pdf-renderer.version} linux tgz org.alfresco alfresco-pdf-renderer - ${installer.pdfium.version} + ${installer.alfresco-pdf-renderer.version} osx tgz org.alfresco alfresco-pdf-renderer - ${installer.pdfium.version} + ${installer.alfresco-pdf-renderer.version} win64 tgz From bae736fcf24a603d90cd08d2a4c67cca2f8a183c Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Thu, 1 Jun 2017 12:33:03 +0000 Subject: [PATCH 545/670] Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136910 skopf: REPO-2054 - GS Replacement: Implement new transformer to invoke the rasterizer, depending on chosen technology - fix accidentally commented-out installer signing git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137102 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index c515ffa5e9..87bde28130 100644 --- a/pom.xml +++ b/pom.xml @@ -15,17 +15,6 @@ ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - - project.outputDirectory=${project.build.directory} - project.version=${project.version} - project.fullName='Alfresco Content Services Platform' - alfresco_edition=enterprise - alfresco_package='${alfresco.package.name}' - alfrescogoogledocs_component_enabled=0 - alfrescosolr_component_enabled=0 - alfrescowcmqs_component_enabled=0 - - From 89c722d84bef6112b25cf58786996ad8280178c4 Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Thu, 1 Jun 2017 12:33:18 +0000 Subject: [PATCH 546/670] Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136912 anechifor: added alfresco-global.properties git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137103 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 67dbda97bc..d26847d3bf 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -46,6 +46,7 @@ ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ ooo.enabled=false ooo.port=@@BITROCK_LO_PORT@@ @@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ +@@BITROCK_ALFRESCO_PDF_RENDERER_ENV@@ jodconverter.enabled=true jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ From 66f5f6d70fb70fc4ccf74fc208dae5fb2cc8fce9 Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Fri, 2 Jun 2017 12:48:26 +0200 Subject: [PATCH 547/670] Fix full-installer builds after adding the alfresco-pdf-renderer to the platform installer --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index efc4cfe78f..412d725d50 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,7 @@ 8.64 7.0.5 1.0 + 1.0 ${maven.build.timestamp} From 01d183c8c87d469677be50883c016ec94e74f06c Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Fri, 2 Jun 2017 16:41:55 +0200 Subject: [PATCH 548/670] Fix full-installer builds after adding the alfresco-pdf-renderer to the platform installer --- enterprise-installer/pom.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index ea10bfcb91..9c2515e9dc 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -49,6 +49,28 @@ ${project.version} pom + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + osx + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + win64 + tgz + From 6bdde26e5e74dac1ed31b1e7ef8d2c720472ff37 Mon Sep 17 00:00:00 2001 From: Samuel Langlois Date: Mon, 5 Jun 2017 16:51:23 +0000 Subject: [PATCH 549/670] Upgraded to version 5.2.2 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137155 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 87bde28130..5984295871 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.2.1-SNAPSHOT + 5.2.2-SNAPSHOT alfresco-content-services-installer-resources jar From 6ff8bddd0c1d7b42b3648cacb6ad88d7a1a127db Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 15 Jun 2017 11:08:21 +0000 Subject: [PATCH 550/670] Merged 5.2.N (5.2.2) to HEAD (5.2) 136787 skopf: Merged REPO-2057 (5.2.1) to 5.2.N (5.2.1) 136647 anechifor: REPO-2057 : GS Replacement: Remove GhostScript from the code base (installer, Admin Console et al.) - I remove GhostScript and change pom.xml from installer to build locally. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137509 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 44 +++++++++++++------------------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/pom.xml b/pom.xml index d47eb3b494..5e98fb0a20 100644 --- a/pom.xml +++ b/pom.xml @@ -10,11 +10,22 @@ jar Alfresco Content Services Installer Resources + Platform Installers - + ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml + + project.outputDirectory=${project.build.directory} + project.version=${project.version} + project.fullName='Alfresco Content Services Platform' + alfresco_edition=enterprise + alfresco_package='${alfresco.package.name}' + alfrescogoogledocs_component_enabled=0 + alfrescosolr_component_enabled=0 + alfrescowcmqs_component_enabled=0 + + @@ -163,36 +175,6 @@ tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - linux - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - osx - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win32 - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win64 - tgz - - org.imagemagick From 5a71cd93c4065281a135c31136edf189c92ecdc5 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 15 Jun 2017 11:08:28 +0000 Subject: [PATCH 551/670] Merged 5.2.N (5.2.2) to HEAD (5.2) 136788 skopf: Merged REPO-2057 (5.2.1) to 5.2.N (5.2.1) 136648 anechifor: REPO-2057 : GS Replacement: Remove GhostScript from the code base (installer, Admin Console et al.) - I remove ghostscript git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137510 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index 5e98fb0a20..69e5d3d25d 100644 --- a/pom.xml +++ b/pom.xml @@ -15,17 +15,6 @@ ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - - project.outputDirectory=${project.build.directory} - project.version=${project.version} - project.fullName='Alfresco Content Services Platform' - alfresco_edition=enterprise - alfresco_package='${alfresco.package.name}' - alfrescogoogledocs_component_enabled=0 - alfrescosolr_component_enabled=0 - alfrescowcmqs_component_enabled=0 - - From c8caa550e49325afd3d6b8cb33276e16fe9d97bd Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 15 Jun 2017 11:12:01 +0000 Subject: [PATCH 552/670] Merged 5.2.N (5.2.2) to HEAD (5.2) 136979 amukha: REPO-2463 MNT-17909 Disable win32 installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137541 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/pom.xml b/pom.xml index 69e5d3d25d..0dd5fb2f4c 100644 --- a/pom.xml +++ b/pom.xml @@ -65,13 +65,6 @@ osx tgz - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - win32 - tgz - org.apache.tomcat tomcat @@ -94,13 +87,6 @@ ${installer.postgresql.version} osx tgz - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - win32 - tgz org.postgresql @@ -124,13 +110,6 @@ ${installer.java.version} osx tgz - - - com.oracle.java - jre - ${installer.java.version} - win32 - tgz com.oracle.java @@ -178,13 +157,6 @@ osx tgz - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - win32 - tgz - org.imagemagick imagemagick-distribution @@ -231,13 +203,6 @@ osx tgz - - org.alfresco - manager - ${installer.manager.version} - win32 - tgz - org.alfresco manager From 4ea5f9dffb34936605349711f2d6cfe9e1a556ac Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 15 Jun 2017 11:20:23 +0000 Subject: [PATCH 553/670] Merged 5.2.N (5.2.2) to HEAD (5.2) 137095 skopf: Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136847 anechifor: Added PDFIUM installer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137610 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pom.xml b/pom.xml index 0dd5fb2f4c..3418087af2 100644 --- a/pom.xml +++ b/pom.xml @@ -165,6 +165,30 @@ tgz + + + + org.alfresco + alfresco-pdf-renderer + ${installer.pdfium.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.pdfium.version} + osx + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.pdfium.version} + win64 + tgz + + com.bitnami From 4b19360285dd251f85a87604f007eeb467b7b219 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 15 Jun 2017 11:20:33 +0000 Subject: [PATCH 554/670] Merged 5.2.N (5.2.2) to HEAD (5.2) 137096 skopf: Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136870 anechifor: changes pdfium->alfresco-pdf-renderer git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137611 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 3418087af2..b0ab40f1e2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,11 +10,22 @@ jar Alfresco Content Services Installer Resources + Platform Installers - + ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml + + project.outputDirectory=${project.build.directory} + project.version=${project.version} + project.fullName='Alfresco Content Services Platform' + alfresco_edition=enterprise + alfresco_package='${alfresco.package.name}' + alfrescogoogledocs_component_enabled=0 + alfrescosolr_component_enabled=0 + alfrescowcmqs_component_enabled=0 + + @@ -166,25 +178,25 @@ - + org.alfresco alfresco-pdf-renderer - ${installer.pdfium.version} + ${installer.alfresco-pdf-renderer.version} linux tgz org.alfresco alfresco-pdf-renderer - ${installer.pdfium.version} + ${installer.alfresco-pdf-renderer.version} osx tgz org.alfresco alfresco-pdf-renderer - ${installer.pdfium.version} + ${installer.alfresco-pdf-renderer.version} win64 tgz From 90dcf3515f2e921d6898399ca962ace173c73a56 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 15 Jun 2017 11:21:15 +0000 Subject: [PATCH 555/670] Merged 5.2.N (5.2.2) to HEAD (5.2) 137102 skopf: Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136910 skopf: REPO-2054 - GS Replacement: Implement new transformer to invoke the rasterizer, depending on chosen technology - fix accidentally commented-out installer signing git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137617 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index b0ab40f1e2..0fafccabe9 100644 --- a/pom.xml +++ b/pom.xml @@ -15,17 +15,6 @@ ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml - - project.outputDirectory=${project.build.directory} - project.version=${project.version} - project.fullName='Alfresco Content Services Platform' - alfresco_edition=enterprise - alfresco_package='${alfresco.package.name}' - alfrescogoogledocs_component_enabled=0 - alfrescosolr_component_enabled=0 - alfrescowcmqs_component_enabled=0 - - From ba1624dde359bc9a51461cb4313595ae7e6d837a Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 15 Jun 2017 11:21:22 +0000 Subject: [PATCH 556/670] Merged 5.2.N (5.2.2) to HEAD (5.2) 137103 skopf: Merged REPO-2054 (5.2.1) to 5.2.N (5.2.1) 136912 anechifor: added alfresco-global.properties git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137618 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties index 67dbda97bc..d26847d3bf 100644 --- a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ b/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -46,6 +46,7 @@ ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ ooo.enabled=false ooo.port=@@BITROCK_LO_PORT@@ @@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ +@@BITROCK_ALFRESCO_PDF_RENDERER_ENV@@ jodconverter.enabled=true jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ From ae3761b2edf695dd4d3d62bedd73f4ba304698a9 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Thu, 23 Mar 2017 17:04:03 +0000 Subject: [PATCH 557/670] MNT-17200: update ImageMagick to 7.0.5 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/services/full-installer/branches/5.2.N@136063 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c44489c3e5..42dc500fed 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ 9.4.4-20151016 5.2.1-alfresco 8.64 - 6.9.1 + 7.0.5 1.0 From 3acb5c9cf4705c2d258ff8ef585ae0568a8223ec Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 24 May 2017 11:31:54 +0100 Subject: [PATCH 558/670] REPO-2485 Update version of common libs --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 42dc500fed..3246c35965 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.1.5 - 5.1-20151118 + 5.2-20170508 7.0.59-alfresco-distribution 1.8.0_111 9.4.4-20151016 From a86c4c1de3963269bc50a2aa02a32ede273e6bb6 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 24 May 2017 22:52:31 +0100 Subject: [PATCH 559/670] REPO-2483 Change ear artefact name --- ear/pom.xml | 2 +- ear/src/assembly/ear-distribution.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ear/pom.xml b/ear/pom.xml index 323b189e68..f98100a840 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -1,6 +1,6 @@ 4.0.0 - alfresco-ear-distribution + alfresco-content-services-ear-distribution Alfresco EAR Distribution org.alfresco diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index e800040508..7b6bde3e30 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -29,7 +29,7 @@ ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip - ${project.build.directory}/alfresco-ear-distribution-${project.version}.ear + ${project.build.directory}/alfresco-content-services-ear-distribution-${project.version}.ear alfresco-content-services-${project.version}.ear From 502c1c3d57dd5c7db8b6d53e58080b41b4a2e92d Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Tue, 30 May 2017 09:59:46 +0100 Subject: [PATCH 560/670] GOOGLEDOCS-394 googledocs upgrade to 3.0.4 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3246c35965..fba84565c1 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.2-SNAPSHOT - 3.0.3 + 3.0.4 1.1.5 From bade8c17fc05694e6734ae32c7bece3f0d333887 Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Fri, 2 Jun 2017 12:48:26 +0200 Subject: [PATCH 561/670] Fix full-installer builds after adding the alfresco-pdf-renderer to the platform installer --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index fba84565c1..f7b1f0b8fe 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,7 @@ 8.64 7.0.5 1.0 + 1.0 ${maven.build.timestamp} From 97759203d1a989105e69f23adf9cd158f03c47f3 Mon Sep 17 00:00:00 2001 From: Stefan Kopf Date: Fri, 2 Jun 2017 16:41:55 +0200 Subject: [PATCH 562/670] Fix full-installer builds after adding the alfresco-pdf-renderer to the platform installer --- enterprise-installer/pom.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 56a9ec7092..b02b5cfaee 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -49,6 +49,28 @@ ${project.version} pom + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + osx + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + win64 + tgz + From 06bf4f0ac6a6f570c7b913b597bc4b319771dd01 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Mon, 12 Jun 2017 19:14:46 +0300 Subject: [PATCH 563/670] REPO-2352: Added .gitignore --- .gitignore | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..5cd20fa5aa --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +*.class + +# Eclipse +.classpath +.settings +.project + +# Intellij +.idea/ +*.iml +*.iws + +# Mac +.DS_Store + +# Maven +target +*.log +*.log.* + +# Mobile Tools for Java (J2ME) + +.mtj +.tmp/ + +# Package Files # + +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml + +hs_err_pid* From d9bc8d27e642ae3a7c9eefb14e1e0448eeb91591 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 26 May 2017 15:07:31 +0100 Subject: [PATCH 564/670] REPO-2463 Disable win32 dependencies --- installer/pom.xml | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index 21c50b9c7e..4bef7405b2 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -62,13 +62,6 @@ osx tgz - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - win32 - tgz - org.apache.tomcat tomcat @@ -91,13 +84,6 @@ ${installer.postgresql.version} osx tgz - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - win32 - tgz org.postgresql @@ -121,13 +107,6 @@ ${installer.java.version} osx tgz - - - com.oracle.java - jre - ${installer.java.version} - win32 - tgz com.oracle.java @@ -175,13 +154,6 @@ osx tgz - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win32 - tgz - com.ghostscript ghostscript-distribution @@ -205,13 +177,6 @@ osx tgz - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - win32 - tgz - org.imagemagick imagemagick-distribution @@ -258,13 +223,6 @@ osx tgz - - org.alfresco - manager - ${installer.manager.version} - win32 - tgz - org.alfresco manager From 1657b8f5daefc012df3874d7cf7b6070915b6535 Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Thu, 25 May 2017 11:45:53 +0100 Subject: [PATCH 565/670] REPO-2481 Updated AOS artifacts for installer to 1.1.6 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f7b1f0b8fe..3abe4d64a6 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.4 - 1.1.5 + 1.1.6 5.2-20170508 From 99e8c2283dad8504424ed4468f66fe414f7f607c Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Mon, 12 Jun 2017 19:14:46 +0300 Subject: [PATCH 566/670] REPO-2352: Added .gitignore --- .gitignore | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..5cd20fa5aa --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +*.class + +# Eclipse +.classpath +.settings +.project + +# Intellij +.idea/ +*.iml +*.iws + +# Mac +.DS_Store + +# Maven +target +*.log +*.log.* + +# Mobile Tools for Java (J2ME) + +.mtj +.tmp/ + +# Package Files # + +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml + +hs_err_pid* From e55ac9440fa146be170c01dacc1e128a8bd80f40 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Sat, 17 Jun 2017 20:41:24 +0300 Subject: [PATCH 567/670] Fix *community* full-installer builds after adding the alfresco-pdf-renderer. --- enterprise-installer/pom.xml | 22 ---------------- installer/pom.xml | 51 ++++++++++++++++-------------------- 2 files changed, 22 insertions(+), 51 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 9c2515e9dc..ea10bfcb91 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -49,28 +49,6 @@ ${project.version} pom - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - linux - tgz - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - osx - tgz - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - win64 - tgz - diff --git a/installer/pom.xml b/installer/pom.xml index 57b2ac3013..d2875c5f14 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -160,35 +160,28 @@ tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - linux - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - osx - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win32 - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win64 - tgz - + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + osx + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + win64 + tgz + From de9eacf9986d20420f3ad3b0023a22a7f8ce4a04 Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Sat, 17 Jun 2017 20:41:24 +0300 Subject: [PATCH 568/670] Fix *community* full-installer builds after adding the alfresco-pdf-renderer. --- enterprise-installer/pom.xml | 22 ------------------ installer/pom.xml | 44 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 44 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index b02b5cfaee..56a9ec7092 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -49,28 +49,6 @@ ${project.version} pom - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - linux - tgz - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - osx - tgz - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - win64 - tgz - diff --git a/installer/pom.xml b/installer/pom.xml index 4bef7405b2..f674cc6c3c 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -139,28 +139,28 @@ tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - linux - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - osx - tgz - - - com.ghostscript - ghostscript-distribution - ${installer.ghostscript.version} - win64 - tgz - + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + osx + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + win64 + tgz + From ec959133283c09682715aa124731254894e6293f Mon Sep 17 00:00:00 2001 From: "NESS\\P3700526" Date: Mon, 26 Jun 2017 11:34:22 +0300 Subject: [PATCH 569/670] REPO-2535 : Community 201706: Stack upgrades - Upgrade alfresco common installer to version 2017/06/16 - Update to latest version of Tomcat(7.0.78), PostgreSQL(9.4.12), Java(1.8.0_131) --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 3abe4d64a6..2ee1207e01 100644 --- a/pom.xml +++ b/pom.xml @@ -25,10 +25,10 @@ 1.1.6 - 5.2-20170508 - 7.0.59-alfresco-distribution - 1.8.0_111 - 9.4.4-20151016 + 5.2-20170616 + 7.0.78-alfresco-distribution-20170616 + 1.8.0_131 + 9.4.12 5.2.1-alfresco 8.64 7.0.5 From a8a30ec6f51be0aa6ba6dfcd311fb7a8b6926db9 Mon Sep 17 00:00:00 2001 From: Nebil Kisa Date: Wed, 28 Jun 2017 16:58:49 +0100 Subject: [PATCH 570/670] Create tag for Alfresco Full Installer Community-201706 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index adaae49354..6861735cb0 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index f98100a840..b95dee7a97 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 155a29d26c..5593d0af6b 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-content-services-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 56a9ec7092..3fdda7d38a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-content-services-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 8f351422dc..702d0aaf78 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 war diff --git a/installer/pom.xml b/installer/pom.xml index f674cc6c3c..285843bf94 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 2ee1207e01..3ac731987a 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 pom Alfresco Full Installation - 5.2-SNAPSHOT + 5.2.f - 5.2-SNAPSHOT + 5.2.g 3.0.4 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 56d7f01425..43a4351e29 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 1b122f9060..280497af94 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Communit-201706y pom From d8cfcdd50f5488c57adb932e1696d73f8e7c67e3 Mon Sep 17 00:00:00 2001 From: Nebil Kisa Date: Wed, 28 Jun 2017 17:17:15 +0100 Subject: [PATCH 571/670] Revert "Create tag for Alfresco Full Installer Community-201706" This reverts commit a8a30ec6f51be0aa6ba6dfcd311fb7a8b6926db9. Reset to 5.2-SNAPSHOT --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 6861735cb0..adaae49354 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index b95dee7a97..f98100a840 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 5593d0af6b..155a29d26c 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-content-services-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 3fdda7d38a..56a9ec7092 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-content-services-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 702d0aaf78..8f351422dc 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT war diff --git a/installer/pom.xml b/installer/pom.xml index 285843bf94..f674cc6c3c 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 3ac731987a..2ee1207e01 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT pom Alfresco Full Installation - 5.2.f + 5.2-SNAPSHOT - 5.2.g + 5.2-SNAPSHOT 3.0.4 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 43a4351e29..56d7f01425 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 280497af94..1b122f9060 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Communit-201706y + 5.2-SNAPSHOT pom From 5ebe52500dcaf98cebfca09848f29fc4751292b3 Mon Sep 17 00:00:00 2001 From: Nebil Kisa Date: Thu, 29 Jun 2017 10:11:43 +0100 Subject: [PATCH 572/670] Create tag for Alfresco Full Installer Community-201706 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index adaae49354..6861735cb0 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index f98100a840..b95dee7a97 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 155a29d26c..5593d0af6b 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-content-services-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 56a9ec7092..3fdda7d38a 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-content-services-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 8f351422dc..702d0aaf78 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 war diff --git a/installer/pom.xml b/installer/pom.xml index f674cc6c3c..285843bf94 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 2ee1207e01..7319c55ad9 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 pom Alfresco Full Installation - 5.2-SNAPSHOT + 5.2.g - 5.2-SNAPSHOT + 5.2.f 3.0.4 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 56d7f01425..43a4351e29 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 1b122f9060..c91c534270 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201706 pom From 653c68280aa009e9a6387ade0d2e6680e122bdd1 Mon Sep 17 00:00:00 2001 From: Nebil Kisa Date: Thu, 29 Jun 2017 10:16:28 +0100 Subject: [PATCH 573/670] Revert "Create tag for Alfresco Full Installer Community-201706" This reverts commit 5ebe52500dcaf98cebfca09848f29fc4751292b3. Reset to 5.2-SNAPSHOT --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 6861735cb0..adaae49354 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index b95dee7a97..f98100a840 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 5593d0af6b..155a29d26c 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-content-services-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 3fdda7d38a..56a9ec7092 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-content-services-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 702d0aaf78..8f351422dc 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT war diff --git a/installer/pom.xml b/installer/pom.xml index 285843bf94..f674cc6c3c 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 7319c55ad9..2ee1207e01 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT pom Alfresco Full Installation - 5.2.g + 5.2-SNAPSHOT - 5.2.f + 5.2-SNAPSHOT 3.0.4 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 43a4351e29..56d7f01425 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index c91c534270..1b122f9060 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201706 + 5.2-SNAPSHOT pom From 1ccff8704292ce4da6713b954ed12e769b6f38b8 Mon Sep 17 00:00:00 2001 From: Nebil Kisa Date: Tue, 11 Jul 2017 12:34:14 +0200 Subject: [PATCH 574/670] Create tag for Alfresco Full Installer Community-201707 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index adaae49354..39820fc54b 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index f98100a840..96d25f0fb0 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 155a29d26c..66e8687089 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 alfresco-content-services-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 56a9ec7092..68c3f1f1b7 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 alfresco-content-services-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 8f351422dc..d26135ca52 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 war diff --git a/installer/pom.xml b/installer/pom.xml index f674cc6c3c..94fa64b172 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 2ee1207e01..e15ad3d16e 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 pom Alfresco Full Installation - 5.2-SNAPSHOT + 5.2.g - 5.2-SNAPSHOT + 5.2.f 3.0.4 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 56d7f01425..8d09c3400b 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 1b122f9060..84faa16deb 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2-SNAPSHOT + Community-201707 pom From f29833b881552f9d1b174a76b4c2de0d6667c75d Mon Sep 17 00:00:00 2001 From: Nebil Kisa Date: Tue, 11 Jul 2017 12:36:28 +0200 Subject: [PATCH 575/670] Revert "Create tag for Alfresco Full Installer Community-201707" This reverts commit 1ccff8704292ce4da6713b954ed12e769b6f38b8. Revert back to state prior tag creation for next community release --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 39820fc54b..adaae49354 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index 96d25f0fb0..f98100a840 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 66e8687089..155a29d26c 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT alfresco-content-services-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 68c3f1f1b7..56a9ec7092 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT alfresco-content-services-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index d26135ca52..8f351422dc 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT war diff --git a/installer/pom.xml b/installer/pom.xml index 94fa64b172..f674cc6c3c 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index e15ad3d16e..2ee1207e01 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT pom Alfresco Full Installation - 5.2.g + 5.2-SNAPSHOT - 5.2.f + 5.2-SNAPSHOT 3.0.4 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 8d09c3400b..56d7f01425 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index 84faa16deb..1b122f9060 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - Community-201707 + 5.2-SNAPSHOT pom From 26b2bb7786ea10421c100946743054d31c6c52bd Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 11 Jul 2017 16:59:41 +0100 Subject: [PATCH 576/670] REPO-2636 Remove the OSX installer --- pom.xml | 78 +-------------------------------------------------------- 1 file changed, 1 insertion(+), 77 deletions(-) diff --git a/pom.xml b/pom.xml index 5984295871..b1db7ac8ff 100644 --- a/pom.xml +++ b/pom.xml @@ -18,9 +18,7 @@ project.outputDirectory=${project.build.directory} project.version=${project.version} - project.fullName='Alfresco Content Services Platform' - project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 - project.osxSigningPkcs12Password=${p12Password} + project.fullName='Alfresco Content Services Platform' project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=enterprise @@ -42,13 +40,6 @@ linux tgz - - org.alfresco - installer-common - ${installer.common.version} - osx - tgz - @@ -58,13 +49,6 @@ linux tgz - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - osx - tgz - org.apache.tomcat tomcat @@ -81,13 +65,6 @@ linux tgz - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - osx - tgz - org.postgresql postgresql-distribution @@ -104,13 +81,6 @@ linux tgz - - com.oracle.java - jre - ${installer.java.version} - osx - tgz - com.oracle.java jre @@ -127,13 +97,6 @@ linux tgz - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - osx - tgz - org.libreoffice libreoffice-dist @@ -150,13 +113,6 @@ linux tgz - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - osx - tgz - org.imagemagick imagemagick-distribution @@ -174,13 +130,6 @@ linux tgz - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - osx - tgz - org.alfresco alfresco-pdf-renderer @@ -197,13 +146,6 @@ linux tgz - - com.bitnami - installbuilder - ${installer.installbuilder.version} - osx - tgz - com.bitnami installbuilder @@ -220,13 +162,6 @@ linux tgz - - org.alfresco - manager - ${installer.manager.version} - osx - tgz - org.alfresco manager @@ -357,17 +292,6 @@ ${bitrock.folder}/bin/builder - - osx-bitrock - - - mac - - - - ${bitrock.folder}/bin/builder - - From 5453f96b669ebc129fa8432dcc8848593125e6cb Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 26 May 2017 15:07:31 +0100 Subject: [PATCH 577/670] REPO-2463 Disable win32 dependencies --- installer/pom.xml | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index d2875c5f14..20ef7d7f94 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -62,13 +62,6 @@ osx tgz - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - win32 - tgz - org.apache.tomcat tomcat @@ -91,13 +84,6 @@ ${installer.postgresql.version} osx tgz - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - win32 - tgz org.postgresql @@ -122,13 +108,6 @@ osx tgz - - com.oracle.java - jre - ${installer.java.version} - win32 - tgz - com.oracle.java jre @@ -198,13 +177,6 @@ osx tgz - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - win32 - tgz - org.imagemagick imagemagick-distribution @@ -251,13 +223,6 @@ osx tgz - - org.alfresco - manager - ${installer.manager.version} - win32 - tgz - org.alfresco manager From 1f1ca66a6b00bde783796e34cbbd215b68609d70 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 11 Jul 2017 17:25:01 +0100 Subject: [PATCH 578/670] REPO-2636 Remove the OSX installer --- enterprise-installer/pom.xml | 15 +------ installer/pom.xml | 78 +----------------------------------- 2 files changed, 2 insertions(+), 91 deletions(-) diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index ea10bfcb91..a767dff5ce 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -17,9 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco Content Services' - project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 - project.osxSigningPkcs12Password=${p12Password} + project.fullName='Alfresco Content Services' project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=enterprise @@ -217,17 +215,6 @@ ${bitrock.folder}/bin/builder - - osx-bitrock - - - mac - - - - ${bitrock.folder}/bin/builder - - diff --git a/installer/pom.xml b/installer/pom.xml index 20ef7d7f94..35a0265dcd 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -17,9 +17,7 @@ ${binaries.folder}/build-classpath/license.xml project.version=${installer.version.name} - project.fullName='Alfresco Community' - project.osxSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd-osx.p12 - project.osxSigningPkcs12Password=${p12Password} + project.fullName='Alfresco Community' project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=community @@ -39,13 +37,6 @@ linux tgz - - org.alfresco - installer-common - ${installer.common.version} - osx - tgz - @@ -55,13 +46,6 @@ linux tgz - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - osx - tgz - org.apache.tomcat tomcat @@ -78,13 +62,6 @@ linux tgz - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - osx - tgz - org.postgresql postgresql-distribution @@ -101,13 +78,6 @@ linux tgz - - com.oracle.java - jre - ${installer.java.version} - osx - tgz - com.oracle.java jre @@ -124,13 +94,6 @@ linux tgz - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - osx - tgz - org.libreoffice libreoffice-dist @@ -147,13 +110,6 @@ linux tgz - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - osx - tgz - org.alfresco alfresco-pdf-renderer @@ -170,13 +126,6 @@ linux tgz - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - osx - tgz - org.imagemagick imagemagick-distribution @@ -193,13 +142,6 @@ linux tgz - - com.bitnami - installbuilder - ${installer.installbuilder.version} - osx - tgz - com.bitnami installbuilder @@ -216,13 +158,6 @@ linux tgz - - org.alfresco - manager - ${installer.manager.version} - osx - tgz - org.alfresco manager @@ -423,17 +358,6 @@ ${bitrock.folder}/bin/builder - - osx-bitrock - - - mac - - - - ${bitrock.folder}/bin/builder - - From 2f9ecabb6a8c2cdf25b02e1eaa5f17ebc2224ea2 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Thu, 13 Jul 2017 10:54:40 +0100 Subject: [PATCH 579/670] REPO-2636 Update versions to latest --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 6 +++--- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index a99c817f3e..ce77ce82c6 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT alfresco-community-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index 9f47aa0706..c4bfa07292 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 7d624e7ca4..dab42ab2e9 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT alfresco-content-services-distribution jar diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index a767dff5ce..35d56d3eb4 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT alfresco-content-services-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 6c20928d80..a92696a577 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT war diff --git a/installer/pom.xml b/installer/pom.xml index 35a0265dcd..7aca9a43f6 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT alfresco-community-installer pom diff --git a/pom.xml b/pom.xml index 412d725d50..c7aa888261 100644 --- a/pom.xml +++ b/pom.xml @@ -7,16 +7,16 @@ 6 alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT pom Alfresco Full Installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT - 5.2.1-SNAPSHOT + 5.2.2-SNAPSHOT 3.0.4 diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index b9057533cb..1f2762229b 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index f5b626d24d..ed88f62bc6 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.2.1-SNAPSHOT + 5.3-SNAPSHOT pom From 9bf0af277e46fba95d9d89787c20317dd54520cd Mon Sep 17 00:00:00 2001 From: Ancuta Morarasu Date: Thu, 13 Jul 2017 15:39:27 +0300 Subject: [PATCH 580/670] REPO-2346: Create develop branch from 5.2.N and change version to 5.3-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5984295871..4684291a53 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-enterprise-packaging - 5.2.2-SNAPSHOT + 5.3-SNAPSHOT alfresco-content-services-installer-resources jar From 9d7fcee68f78a828adf2bb3ecf131c628f54f6a8 Mon Sep 17 00:00:00 2001 From: Jared Ottley Date: Fri, 14 Jul 2017 12:55:31 -0600 Subject: [PATCH 581/670] MNT-18318: alfresco.war contains duplicate libraries -Upgrade to Googledocs 3.0.4.1 which no longer provides duplicate libraries --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c7aa888261..1f8233bc46 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.2.2-SNAPSHOT - 3.0.4 + 3.0.4.1 1.1.6 From 6c0c5f21242cd65db1b458b6e7c088c044881099 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 14 Aug 2017 14:25:15 +0100 Subject: [PATCH 582/670] REPO-2725 Fix poms after merge. --- pom.xml | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 168f06d0a4..066400cc32 100644 --- a/pom.xml +++ b/pom.xml @@ -1,16 +1,18 @@ 4.0.0 - - org.alfresco - alfresco-enterprise-packaging - 5.3-SNAPSHOT - alfresco-content-services-installer-resources jar Alfresco Content Services Installer Resources + Platform Installers - + + org.alfresco + alfresco-enterprise-packaging + 5.3-SNAPSHOT + ../pom.xml + + + ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing @@ -27,6 +29,16 @@ alfrescosolr_component_enabled=0 alfrescowcmqs_component_enabled=0 + + 7.0.78 + 5.2-20170616 + ${dependency.tomcat.version}-alfresco-distribution-20170616 + 9.4.12 + 1.8.0_131 + 5.2.1-alfresco + 7.0.5 + 15.10.1 + 1.0 @@ -126,14 +138,14 @@ org.alfresco alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} + ${dependency.alfresco-pdf-renderer.version} linux tgz org.alfresco alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} + ${dependency.alfresco-pdf-renderer.version} win64 tgz @@ -193,7 +205,7 @@ org.alfresco alfresco-installer-resources - ${project.version} + ${dependency.alfresco-installer-resources} ${project.build.directory}/classes bitrock/bitrock/alfresco/shared/alfresco-global.properties @@ -207,7 +219,7 @@ org.alfresco alfresco-solr4-distribution - ${project.version} + ${dependency.alfresco-solr4.version} zip ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/solr4 solr4.war @@ -215,7 +227,7 @@ org.alfresco alfresco-solr4-distribution - ${project.version} + ${dependency.alfresco-solr4.version} zip ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/web-server/webapps solr4.war From 303bbcb72bf2193882b1e62f912c4684abac8ede Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 16 Aug 2017 10:14:07 +0100 Subject: [PATCH 583/670] REPO-2725 Further fixes to poms after merge --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 066400cc32..4d398e48d4 100644 --- a/pom.xml +++ b/pom.xml @@ -138,14 +138,14 @@ org.alfresco alfresco-pdf-renderer - ${dependency.alfresco-pdf-renderer.version} + ${installer.alfresco-pdf-renderer.version} linux tgz org.alfresco alfresco-pdf-renderer - ${dependency.alfresco-pdf-renderer.version} + ${installer.alfresco-pdf-renderer.version} win64 tgz From 653bae0d3032de6d364d251be06bb25b328db494 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 16 Aug 2017 14:03:16 +0100 Subject: [PATCH 584/670] REPO-2725 Rename containing folder, prepare to merge to full installer --- .../pom.xml | 0 .../main/resources/bitrock/alfresco-aos-module.xml | 0 .../main/resources/bitrock/alfresco-apply-amps.xml | 0 .../resources/bitrock/alfresco-build-settings.xml | 0 .../bitrock/alfresco-componentselection-java.xml | 0 .../bitrock/alfresco-customstack-build-settings.xml | 0 .../alfresco-customstack-postgres-settings.xml | 0 .../bitrock/alfresco-customstack-shortcuts.xml | 0 .../bitrock/alfresco-customstack-validations.xml | 0 .../main/resources/bitrock/alfresco-functions.xml | 0 .../main/resources/bitrock/alfresco-googledocs.xml | 0 .../main/resources/bitrock/alfresco-libreoffice.xml | 0 .../src/main/resources/bitrock/alfresco-license.xml | 0 .../alfresco-linux-x64-20140918-versions.txt | 0 .../bitrock/alfresco-osx-x64-20140918-versions.txt | 0 .../resources/bitrock/alfresco-pdf-renderer.xml | 0 .../bitrock/alfresco-postgres-question.xml | 0 .../src/main/resources/bitrock/alfresco-readme.xml | 0 .../src/main/resources/bitrock/alfresco-solr.xml | 0 .../src/main/resources/bitrock/alfresco-solr4.xml | 0 .../src/main/resources/bitrock/alfresco-wcmqs.xml | 0 .../bitrock/alfresco-windows-20140918-versions.txt | 0 .../alfresco-windows-x64-20140918-versions.txt | 0 .../src/main/resources/bitrock/alfresco.sh | 0 .../bitrock/alfrescodm-postgres-database.xml | 0 .../src/main/resources/bitrock/alfrescodm.xml | 0 .../src/main/resources/bitrock/base-functions.xml | 0 .../main/resources/bitrock/base-java-settings.xml | 0 .../src/main/resources/bitrock/base-licenses.xml | 0 .../main/resources/bitrock/base-parameter-dir.xml | 0 .../main/resources/bitrock/base-tomcat-settings.xml | 0 .../main/resources/bitrock/base-unix-service.xml | 0 .../resources/bitrock/base-write-properties.xml | 0 .../bitrock/alfresco/commands/Win32NetBIOS.dll | Bin .../bitrock/alfresco/commands/Win32NetBIOSx64.dll | Bin .../bitrock/alfresco/commands/Win32Utils.dll | Bin .../bitrock/alfresco/commands/Win32Utilsx64.dll | Bin .../bitrock/alfresco/commands/apply_amps.bat | 0 .../bitrock/bitrock/alfresco/commands/apply_amps.sh | 0 .../bitrock/alfresco/commands/clean_tomcat.bat | 0 .../bitrock/alfresco/commands/clean_tomcat.sh | 0 .../bitrock/alfresco/shared/ServerInfo.properties | 0 .../alfresco/shared/alfresco-global.properties | 0 .../bitrock/bitrock/alfresco/shared/server.xml | 0 .../bitrock/alfresco/shared/tomcat-users.xml | 0 .../shared/web-extension/share-config-custom.xml | 0 .../src/main/resources/bitrock/common.xml | 0 .../src/main/resources/bitrock/ctlscript.xml | 0 .../src/main/resources/bitrock/imagemagick.xml | 0 .../src/main/resources/bitrock/images/alfresco.icns | Bin .../src/main/resources/bitrock/images/alfresco.ico | Bin .../src/main/resources/bitrock/images/alfresco.png | Bin .../main/resources/bitrock/images/alfresco_left.png | Bin .../resources/bitrock/images/alfresco_top_right.png | Bin .../src/main/resources/bitrock/images/splash.png | Bin .../src/main/resources/bitrock/java-properties.xml | 0 .../src/main/resources/bitrock/java.xml | 0 .../src/main/resources/bitrock/lang/alf-de.po | 0 .../src/main/resources/bitrock/lang/alf-en.po | 0 .../src/main/resources/bitrock/lang/alf-es.po | 0 .../src/main/resources/bitrock/lang/alf-fr.po | 0 .../src/main/resources/bitrock/lang/alf-it.po | 0 .../src/main/resources/bitrock/lang/alf-ja.po | 0 .../src/main/resources/bitrock/lang/alf-nb_NO.po | 0 .../src/main/resources/bitrock/lang/alf-nl.po | 0 .../src/main/resources/bitrock/lang/alf-pt_BR.po | 0 .../src/main/resources/bitrock/lang/alf-ru.po | 0 .../src/main/resources/bitrock/lang/alf-zh_CN.po | 0 .../resources/bitrock/libreoffice-validations.xml | 0 .../src/main/resources/bitrock/libreoffice.xml | 0 .../licenses/alfresco.trial.agreement-en.txt | 0 .../src/main/resources/bitrock/manager.xml | 0 .../src/main/resources/bitrock/openssl.xml | 0 .../src/main/resources/bitrock/pdfium.xml | 0 .../main/resources/bitrock/postgres-properties.xml | 0 .../src/main/resources/bitrock/postgres-service.xml | 0 .../src/main/resources/bitrock/postgres.xml | 0 .../src/main/resources/bitrock/postgres_initdb.xml | 0 .../src/main/resources/bitrock/project.xml | 0 .../src/main/resources/bitrock/serviceinstall.bat | 0 .../src/main/resources/bitrock/servicerun.bat | 0 .../src/main/resources/bitrock/tomcat-functions.xml | 0 .../main/resources/bitrock/tomcat-imagemagick.xml | 0 .../src/main/resources/bitrock/tomcat-java.xml | 0 .../main/resources/bitrock/tomcat-properties.xml | 0 .../src/main/resources/bitrock/tomcat-service.xml | 0 .../src/main/resources/bitrock/tomcat.xml | 0 .../src/main/resources/build-installers.xml | 0 .../src/main/resources/extract-binaries.xml | 0 89 files changed, 0 insertions(+), 0 deletions(-) rename {alfresco-community-installer-resources => installer-resources}/pom.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-aos-module.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-apply-amps.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-build-settings.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-componentselection-java.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-customstack-build-settings.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-customstack-validations.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-functions.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-googledocs.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-libreoffice.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-license.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-pdf-renderer.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-postgres-question.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-readme.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-solr.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-solr4.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-wcmqs.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfresco.sh (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfrescodm-postgres-database.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/alfrescodm.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/base-functions.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/base-java-settings.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/base-licenses.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/base-parameter-dir.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/base-tomcat-settings.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/base-unix-service.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/base-write-properties.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utils.dll (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utilsx64.dll (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/common.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/ctlscript.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/imagemagick.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/images/alfresco.icns (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/images/alfresco.ico (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/images/alfresco.png (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/images/alfresco_left.png (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/images/alfresco_top_right.png (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/images/splash.png (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/java-properties.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/java.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-de.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-en.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-es.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-fr.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-it.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-ja.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-nb_NO.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-nl.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-pt_BR.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-ru.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/lang/alf-zh_CN.po (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/libreoffice-validations.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/libreoffice.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/manager.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/openssl.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/pdfium.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/postgres-properties.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/postgres-service.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/postgres.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/postgres_initdb.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/project.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/serviceinstall.bat (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/servicerun.bat (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/tomcat-functions.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/tomcat-imagemagick.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/tomcat-java.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/tomcat-properties.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/tomcat-service.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/bitrock/tomcat.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/build-installers.xml (100%) rename {alfresco-community-installer-resources => installer-resources}/src/main/resources/extract-binaries.xml (100%) diff --git a/alfresco-community-installer-resources/pom.xml b/installer-resources/pom.xml similarity index 100% rename from alfresco-community-installer-resources/pom.xml rename to installer-resources/pom.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml b/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml rename to installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml b/installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml rename to installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml b/installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml rename to installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml b/installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml rename to installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml rename to installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml rename to installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml rename to installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml rename to installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-functions.xml b/installer-resources/src/main/resources/bitrock/alfresco-functions.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-functions.xml rename to installer-resources/src/main/resources/bitrock/alfresco-functions.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml b/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml rename to installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml b/installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml rename to installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-license.xml b/installer-resources/src/main/resources/bitrock/alfresco-license.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-license.xml rename to installer-resources/src/main/resources/bitrock/alfresco-license.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt rename to installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt rename to installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml b/installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml rename to installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml b/installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml rename to installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-readme.xml b/installer-resources/src/main/resources/bitrock/alfresco-readme.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-readme.xml rename to installer-resources/src/main/resources/bitrock/alfresco-readme.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-solr.xml b/installer-resources/src/main/resources/bitrock/alfresco-solr.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-solr.xml rename to installer-resources/src/main/resources/bitrock/alfresco-solr.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-solr4.xml b/installer-resources/src/main/resources/bitrock/alfresco-solr4.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-solr4.xml rename to installer-resources/src/main/resources/bitrock/alfresco-solr4.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml b/installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml rename to installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt rename to installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt rename to installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfresco.sh b/installer-resources/src/main/resources/bitrock/alfresco.sh similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfresco.sh rename to installer-resources/src/main/resources/bitrock/alfresco.sh diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml b/installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml rename to installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/alfrescodm.xml b/installer-resources/src/main/resources/bitrock/alfrescodm.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/alfrescodm.xml rename to installer-resources/src/main/resources/bitrock/alfrescodm.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/base-functions.xml b/installer-resources/src/main/resources/bitrock/base-functions.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/base-functions.xml rename to installer-resources/src/main/resources/bitrock/base-functions.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/base-java-settings.xml b/installer-resources/src/main/resources/bitrock/base-java-settings.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/base-java-settings.xml rename to installer-resources/src/main/resources/bitrock/base-java-settings.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/base-licenses.xml b/installer-resources/src/main/resources/bitrock/base-licenses.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/base-licenses.xml rename to installer-resources/src/main/resources/bitrock/base-licenses.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/base-parameter-dir.xml b/installer-resources/src/main/resources/bitrock/base-parameter-dir.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/base-parameter-dir.xml rename to installer-resources/src/main/resources/bitrock/base-parameter-dir.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml b/installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml rename to installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/base-unix-service.xml b/installer-resources/src/main/resources/bitrock/base-unix-service.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/base-unix-service.xml rename to installer-resources/src/main/resources/bitrock/base-unix-service.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/base-write-properties.xml b/installer-resources/src/main/resources/bitrock/base-write-properties.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/base-write-properties.xml rename to installer-resources/src/main/resources/bitrock/base-write-properties.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utils.dll b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utils.dll similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utils.dll rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utils.dll diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utilsx64.dll b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utilsx64.dll similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utilsx64.dll rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utilsx64.dll diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml rename to installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/common.xml b/installer-resources/src/main/resources/bitrock/common.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/common.xml rename to installer-resources/src/main/resources/bitrock/common.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/ctlscript.xml b/installer-resources/src/main/resources/bitrock/ctlscript.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/ctlscript.xml rename to installer-resources/src/main/resources/bitrock/ctlscript.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/imagemagick.xml b/installer-resources/src/main/resources/bitrock/imagemagick.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/imagemagick.xml rename to installer-resources/src/main/resources/bitrock/imagemagick.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco.icns b/installer-resources/src/main/resources/bitrock/images/alfresco.icns similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco.icns rename to installer-resources/src/main/resources/bitrock/images/alfresco.icns diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco.ico b/installer-resources/src/main/resources/bitrock/images/alfresco.ico similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco.ico rename to installer-resources/src/main/resources/bitrock/images/alfresco.ico diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco.png b/installer-resources/src/main/resources/bitrock/images/alfresco.png similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco.png rename to installer-resources/src/main/resources/bitrock/images/alfresco.png diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco_left.png b/installer-resources/src/main/resources/bitrock/images/alfresco_left.png similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco_left.png rename to installer-resources/src/main/resources/bitrock/images/alfresco_left.png diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco_top_right.png b/installer-resources/src/main/resources/bitrock/images/alfresco_top_right.png similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/images/alfresco_top_right.png rename to installer-resources/src/main/resources/bitrock/images/alfresco_top_right.png diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/images/splash.png b/installer-resources/src/main/resources/bitrock/images/splash.png similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/images/splash.png rename to installer-resources/src/main/resources/bitrock/images/splash.png diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/java-properties.xml b/installer-resources/src/main/resources/bitrock/java-properties.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/java-properties.xml rename to installer-resources/src/main/resources/bitrock/java-properties.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/java.xml b/installer-resources/src/main/resources/bitrock/java.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/java.xml rename to installer-resources/src/main/resources/bitrock/java.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-de.po b/installer-resources/src/main/resources/bitrock/lang/alf-de.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-de.po rename to installer-resources/src/main/resources/bitrock/lang/alf-de.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-en.po b/installer-resources/src/main/resources/bitrock/lang/alf-en.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-en.po rename to installer-resources/src/main/resources/bitrock/lang/alf-en.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-es.po b/installer-resources/src/main/resources/bitrock/lang/alf-es.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-es.po rename to installer-resources/src/main/resources/bitrock/lang/alf-es.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-fr.po b/installer-resources/src/main/resources/bitrock/lang/alf-fr.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-fr.po rename to installer-resources/src/main/resources/bitrock/lang/alf-fr.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-it.po b/installer-resources/src/main/resources/bitrock/lang/alf-it.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-it.po rename to installer-resources/src/main/resources/bitrock/lang/alf-it.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-ja.po b/installer-resources/src/main/resources/bitrock/lang/alf-ja.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-ja.po rename to installer-resources/src/main/resources/bitrock/lang/alf-ja.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po b/installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po rename to installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-nl.po b/installer-resources/src/main/resources/bitrock/lang/alf-nl.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-nl.po rename to installer-resources/src/main/resources/bitrock/lang/alf-nl.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po b/installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po rename to installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-ru.po b/installer-resources/src/main/resources/bitrock/lang/alf-ru.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-ru.po rename to installer-resources/src/main/resources/bitrock/lang/alf-ru.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po b/installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po rename to installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/libreoffice-validations.xml b/installer-resources/src/main/resources/bitrock/libreoffice-validations.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/libreoffice-validations.xml rename to installer-resources/src/main/resources/bitrock/libreoffice-validations.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/libreoffice.xml b/installer-resources/src/main/resources/bitrock/libreoffice.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/libreoffice.xml rename to installer-resources/src/main/resources/bitrock/libreoffice.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt b/installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt rename to installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/manager.xml b/installer-resources/src/main/resources/bitrock/manager.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/manager.xml rename to installer-resources/src/main/resources/bitrock/manager.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/openssl.xml b/installer-resources/src/main/resources/bitrock/openssl.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/openssl.xml rename to installer-resources/src/main/resources/bitrock/openssl.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/pdfium.xml b/installer-resources/src/main/resources/bitrock/pdfium.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/pdfium.xml rename to installer-resources/src/main/resources/bitrock/pdfium.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/postgres-properties.xml b/installer-resources/src/main/resources/bitrock/postgres-properties.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/postgres-properties.xml rename to installer-resources/src/main/resources/bitrock/postgres-properties.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/postgres-service.xml b/installer-resources/src/main/resources/bitrock/postgres-service.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/postgres-service.xml rename to installer-resources/src/main/resources/bitrock/postgres-service.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/postgres.xml b/installer-resources/src/main/resources/bitrock/postgres.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/postgres.xml rename to installer-resources/src/main/resources/bitrock/postgres.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/postgres_initdb.xml b/installer-resources/src/main/resources/bitrock/postgres_initdb.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/postgres_initdb.xml rename to installer-resources/src/main/resources/bitrock/postgres_initdb.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/project.xml b/installer-resources/src/main/resources/bitrock/project.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/project.xml rename to installer-resources/src/main/resources/bitrock/project.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/serviceinstall.bat b/installer-resources/src/main/resources/bitrock/serviceinstall.bat similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/serviceinstall.bat rename to installer-resources/src/main/resources/bitrock/serviceinstall.bat diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/servicerun.bat b/installer-resources/src/main/resources/bitrock/servicerun.bat similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/servicerun.bat rename to installer-resources/src/main/resources/bitrock/servicerun.bat diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-functions.xml b/installer-resources/src/main/resources/bitrock/tomcat-functions.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-functions.xml rename to installer-resources/src/main/resources/bitrock/tomcat-functions.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml b/installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml rename to installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-java.xml b/installer-resources/src/main/resources/bitrock/tomcat-java.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-java.xml rename to installer-resources/src/main/resources/bitrock/tomcat-java.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-properties.xml b/installer-resources/src/main/resources/bitrock/tomcat-properties.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-properties.xml rename to installer-resources/src/main/resources/bitrock/tomcat-properties.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-service.xml b/installer-resources/src/main/resources/bitrock/tomcat-service.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/tomcat-service.xml rename to installer-resources/src/main/resources/bitrock/tomcat-service.xml diff --git a/alfresco-community-installer-resources/src/main/resources/bitrock/tomcat.xml b/installer-resources/src/main/resources/bitrock/tomcat.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/bitrock/tomcat.xml rename to installer-resources/src/main/resources/bitrock/tomcat.xml diff --git a/alfresco-community-installer-resources/src/main/resources/build-installers.xml b/installer-resources/src/main/resources/build-installers.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/build-installers.xml rename to installer-resources/src/main/resources/build-installers.xml diff --git a/alfresco-community-installer-resources/src/main/resources/extract-binaries.xml b/installer-resources/src/main/resources/extract-binaries.xml similarity index 100% rename from alfresco-community-installer-resources/src/main/resources/extract-binaries.xml rename to installer-resources/src/main/resources/extract-binaries.xml From 50a2590e6ed7e2b4c2cc61a471257dece1adf67b Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 16 Aug 2017 14:55:36 +0100 Subject: [PATCH 585/670] REPO-2725 Fix poms after merge of resources --- installer-resources/pom.xml | 19 ++++++------------- installer/pom.xml | 2 +- pom.xml | 1 + 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index fedc1d2470..e2eaadc9a4 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -1,22 +1,15 @@ 4.0.0 - - org.alfresco - alfresco-packaging - 5.3-SNAPSHOT - alfresco-installer-resources jar Alfresco Installer Resources - - - - src/main/resources - false - - - + + org.alfresco + alfresco-full-installation + 5.3-SNAPSHOT + ../pom.xml + diff --git a/installer/pom.xml b/installer/pom.xml index 7aca9a43f6..8586191225 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -190,7 +190,7 @@ org.alfresco alfresco-installer-resources - ${alfresco.platform.version} + ${project.version} ${project.build.directory}/classes diff --git a/pom.xml b/pom.xml index c7aa888261..a92c9f45e5 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,7 @@ distribution public-javadoc + installer-resources From 5159a488673dba3825210736d8691ca6be98b87d Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 16 Aug 2017 15:28:14 +0100 Subject: [PATCH 586/670] REPO-2725 Prepare to move enterprise resources to full installer --- pom.xml => enterprise-installer-resources/pom.xml | 0 .../bitrock/bitrock/alfresco/shared/alfresco-global.properties | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename pom.xml => enterprise-installer-resources/pom.xml (100%) rename {src => enterprise-installer-resources/src}/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties (100%) diff --git a/pom.xml b/enterprise-installer-resources/pom.xml similarity index 100% rename from pom.xml rename to enterprise-installer-resources/pom.xml diff --git a/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/enterprise-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties similarity index 100% rename from src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties rename to enterprise-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties From 1c54dd2fdb4629bb995404d344d14fc71786d487 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 16 Aug 2017 15:34:05 +0100 Subject: [PATCH 587/670] REPO-2725 Fix poms after merge of enterprise installer resources --- enterprise-installer-resources/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- pom.xml | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/enterprise-installer-resources/pom.xml b/enterprise-installer-resources/pom.xml index 4d398e48d4..327776e7ba 100644 --- a/enterprise-installer-resources/pom.xml +++ b/enterprise-installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco - alfresco-enterprise-packaging + alfresco-full-installation 5.3-SNAPSHOT ../pom.xml diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 35d56d3eb4..f15de7bcb4 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -72,7 +72,7 @@ org.alfresco alfresco-content-services-installer-resources - ${alfresco.platform.version} + ${project.version} ${project.build.directory}/classes diff --git a/pom.xml b/pom.xml index a92c9f45e5..611f6785b9 100644 --- a/pom.xml +++ b/pom.xml @@ -62,6 +62,8 @@ distribution public-javadoc installer-resources + enterprise-installer + enterprise-installer-resources From 21e238330775f2f93c5437b75497aa0b31865bad Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 16 Aug 2017 15:38:32 +0100 Subject: [PATCH 588/670] Include all modules in the parent pom --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 611f6785b9..41c3f6d708 100644 --- a/pom.xml +++ b/pom.xml @@ -60,10 +60,15 @@ distribution + enterprise-distribution public-javadoc + installer installer-resources enterprise-installer enterprise-installer-resources + enterprise-war-for-ear + ear + share-po-run From b113c11023f4099c59db5f7249722c8992439b24 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 16 Aug 2017 16:09:06 +0100 Subject: [PATCH 589/670] REPO-2725 Remove platform installer --- enterprise-installer-resources/pom.xml | 288 +------------------------ 1 file changed, 1 insertion(+), 287 deletions(-) diff --git a/enterprise-installer-resources/pom.xml b/enterprise-installer-resources/pom.xml index 327776e7ba..7d3706afeb 100644 --- a/enterprise-installer-resources/pom.xml +++ b/enterprise-installer-resources/pom.xml @@ -3,7 +3,7 @@ 4.0.0 alfresco-content-services-installer-resources jar - Alfresco Content Services Installer Resources + Platform Installers + Alfresco Content Services Installer Resources org.alfresco @@ -12,177 +12,6 @@ ../pom.xml - - ${user.home}/binaries - ${project.build.directory}/installbuilder - ${binaries.folder}/build-classpath/code-signing - ${binaries.folder}/build-classpath/license.xml - - project.outputDirectory=${project.build.directory} - project.version=${project.version} - project.fullName='Alfresco Content Services Platform' - project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 - project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=enterprise - alfresco_package='${alfresco.package.name}' - alfrescogoogledocs_component_enabled=0 - alfrescosolr_component_enabled=0 - alfrescowcmqs_component_enabled=0 - - - 7.0.78 - 5.2-20170616 - ${dependency.tomcat.version}-alfresco-distribution-20170616 - 9.4.12 - 1.8.0_131 - 5.2.1-alfresco - 7.0.5 - 15.10.1 - 1.0 - - - - - - - - org.alfresco - installer-common - ${installer.common.version} - linux - tgz - - - - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - linux - tgz - - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - win64 - tgz - - - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - linux - tgz - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - win64 - tgz - - - - - com.oracle.java - jre - ${installer.java.version} - linux - tgz - - - com.oracle.java - jre - ${installer.java.version} - win64 - tgz - - - - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - linux - tgz - - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - windows - tgz - - - - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - linux - tgz - - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - win64 - tgz - - - - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - linux - tgz - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - win64 - tgz - - - - - com.bitnami - installbuilder - ${installer.installbuilder.version} - linux - tgz - - - com.bitnami - installbuilder - ${installer.installbuilder.version} - win - tgz - - - - - org.alfresco - manager - ${installer.manager.version} - linux - tgz - - - org.alfresco - manager - ${installer.manager.version} - win64 - tgz - - - @@ -190,120 +19,5 @@ false - - - maven-dependency-plugin - - - get-distribution - prepare-package - - unpack - - - - - org.alfresco - alfresco-installer-resources - ${dependency.alfresco-installer-resources} - ${project.build.directory}/classes - bitrock/bitrock/alfresco/shared/alfresco-global.properties - - - org.alfresco - alfresco-content-services-platform-distributionzip - ${project.version} - zip - ${project.build.directory}/distribution - - - org.alfresco - alfresco-solr4-distribution - ${dependency.alfresco-solr4.version} - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/solr4 - solr4.war - - - org.alfresco - alfresco-solr4-distribution - ${dependency.alfresco-solr4.version} - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${project.version}/web-server/webapps - solr4.war - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - zip - ${project.build.directory}/distribution/aos-module - - - - - - - - - maven-antrun-plugin - - - - extract-binaries-tgz - prepare-package - - run - - - - - - - - - - build-installers - package - - run - - - ${project.build.directory}/classes/bitrock - - - - - - - - - - - - - win-bitrock - - - windows - - - - ${bitrock.folder}/bin/builder-cli.exe - - - - linux-bitrock - - - linux - - - - ${bitrock.folder}/bin/builder - - - - From 606101dc7f7f04c67a23ec2a810896dbde8eb51d Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Tue, 22 Aug 2017 13:10:10 +0100 Subject: [PATCH 590/670] REPO-2715 incremented AOS version for full installer --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5d21e1905d..85ffb1449f 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.4.1 - 1.1.6 + 1.1.7 5.2-20170508 From ced56766cbe2336424439062688def85fa72e8fe Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Tue, 22 Aug 2017 15:26:13 +0100 Subject: [PATCH 591/670] Revert "REPO-2715 incremented AOS version for full installer" This reverts commit 606101dc7f7f04c67a23ec2a810896dbde8eb51d. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 85ffb1449f..5d21e1905d 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.4.1 - 1.1.7 + 1.1.6 5.2-20170508 From caaa53aa8713eb2bca270f6bc526238a95514894 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 23 Aug 2017 10:29:31 +0100 Subject: [PATCH 592/670] Feature/repo 2804 renaming --- distribution/pom.xml | 12 +++---- .../src/assembly/full-distribution.xml | 7 ++-- ear/pom.xml | 18 +++++------ ear/src/assembly/ear-distribution.xml | 6 ++-- enterprise-distribution/pom.xml | 13 ++++---- enterprise-installer/pom.xml | 32 ++++++++++++++----- enterprise-war-for-ear/pom.xml | 8 ++--- installer/pom.xml | 18 ++++++++--- pom.xml | 3 ++ 9 files changed, 73 insertions(+), 44 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index ce77ce82c6..58af8c81ac 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -6,9 +6,9 @@ alfresco-full-installation 5.3-SNAPSHOT - alfresco-community-distribution + alfresco-content-services-community-full-distribution jar - Alfresco Full Distribution (Community Edition) + Alfresco Content Services Community Full Distribution @@ -19,7 +19,7 @@ org.alfresco - alfresco-platform-community-distributionzip + alfresco-content-services-community-distribution ${alfresco.platform.version} zip @@ -34,7 +34,7 @@ org.alfresco alfresco-solr4-distribution - ${alfresco.platform.version} + ${alfresco.solr4.version} zip @@ -81,14 +81,14 @@ org.alfresco - alfresco-platform-community-distributionzip + alfresco-content-services-community-distribution ${alfresco.platform.version} zip org.alfresco alfresco-solr4-distribution - ${alfresco.platform.version} + ${alfresco.solr4.version} zip ${project.build.directory}/dependency/solr4 diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index ec4c83d42c..736b953103 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -1,6 +1,9 @@ distribution + + false + zip @@ -14,13 +17,13 @@ - ${project.build.directory}/dependency/alfresco-platform-community-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-community-distribution-${alfresco.platform.version} - ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-distribution-${alfresco.platform.version} diff --git a/ear/pom.xml b/ear/pom.xml index c4bfa07292..c8d1407a96 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -1,7 +1,7 @@ 4.0.0 - alfresco-content-services-ear-distribution - Alfresco EAR Distribution + alfresco-content-services-full-ear-distribution + Alfresco Content Services Full EAR Distribution org.alfresco alfresco-full-installation @@ -26,7 +26,7 @@ org.alfresco - alfresco-enterprise-war-for-ear + alfresco-content-services-war-for-ear ${project.version} war @@ -53,8 +53,8 @@ org.alfresco - alfresco-content-services-platform-distributionzip - ${alfresco.platform.version} + alfresco-content-services-full-distribution + ${project.version} zip provided @@ -196,7 +196,7 @@ org.alfresco - alfresco-enterprise-war-for-ear + alfresco-content-services-war-for-ear alfresco.war @@ -228,9 +228,9 @@ unpack-dependencies - alfresco-content-services-platform-distributionzip + alfresco-content-services-full-distribution true - alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/solr4/,alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/webapps/,alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/modules/ + alfresco-content-services-full-distribution-${alfresco.platform.version}/solr4/,alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/webapps/,alfresco-content-services-full-distribution-${alfresco.platform.version}/modules/ @@ -262,7 +262,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/lib diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 7b6bde3e30..0f3629d4b7 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,14 +8,14 @@ - ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-content-services-platform-distributionzip-${alfresco.platform.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/shared/classes web-server/classpath @@ -29,7 +29,7 @@ ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip - ${project.build.directory}/alfresco-content-services-ear-distribution-${project.version}.ear + ${project.build.directory}/alfresco-content-services-full-ear-distribution-${project.version}.ear alfresco-content-services-${project.version}.ear diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index dab42ab2e9..4fd8b6745f 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -6,9 +6,9 @@ alfresco-full-installation 5.3-SNAPSHOT - alfresco-content-services-distribution + alfresco-content-services-full-distribution jar - Alfresco Full Distribution (Enterprise Edition) + Alfresco Content Services Full Distribution @@ -16,10 +16,9 @@ - org.alfresco - alfresco-content-services-platform-distributionzip + alfresco-content-services-distribution ${alfresco.platform.version} zip @@ -34,7 +33,7 @@ org.alfresco alfresco-solr4-distribution - ${alfresco.platform.version} + ${alfresco.solr4.version} zip @@ -81,14 +80,14 @@ org.alfresco - alfresco-content-services-platform-distributionzip + alfresco-content-services-distribution ${alfresco.platform.version} zip org.alfresco alfresco-solr4-distribution - ${alfresco.platform.version} + ${alfresco.solr4.version} zip ${project.build.directory}/dependency/solr4 diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index f15de7bcb4..3661787949 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -6,9 +6,9 @@ alfresco-full-installation 5.3-SNAPSHOT - alfresco-content-services-installer + alfresco-content-services-full-installer pom - Alfresco Enterprise Full Installers + Alfresco Content Services Full Installers ${user.home}/binaries @@ -29,8 +29,8 @@ - alfresco-content-services - alfresco-content-services-distribution + alfresco-content-services-full + alfresco-content-services-full-distribution org.alfresco - alfresco-community-installer + alfresco-installer-resources ${project.version} pom + + org.alfresco + alfresco-installer-resources + ${project.version} + + + org.alfresco + alfresco-content-services-installer-resources + ${project.version} + @@ -69,6 +79,12 @@ + + org.alfresco + alfresco-installer-resources + ${project.version} + ${project.build.directory}/classes + org.alfresco alfresco-content-services-installer-resources @@ -77,16 +93,16 @@ org.alfresco - alfresco-content-services-distribution + alfresco-content-services-full-distribution ${project.version} zip - ${project.build.directory}/distribution + ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name} org.alfresco alfresco-solr1-distribution - ${alfresco.platform.version} + ${alfresco.solr.version} zip ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index a92696a577..9e83c72beb 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -1,7 +1,7 @@ 4.0.0 - alfresco-enterprise-war-for-ear - Alfresco Enterprise WAR for inclusion in EAR + alfresco-content-services-war-for-ear + Alfresco Content Services WAR for inclusion in EAR org.alfresco alfresco-full-installation @@ -12,7 +12,7 @@ org.alfresco - alfresco-platform-enterprise + content-services ${alfresco.platform.version} war @@ -54,7 +54,7 @@ org.alfresco - alfresco-platform-enterprise + content-services war diff --git a/installer/pom.xml b/installer/pom.xml index 8586191225..41314cf846 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,15 +6,16 @@ alfresco-full-installation 5.3-SNAPSHOT - alfresco-community-installer + alfresco-content-services-community-full-installer pom - Alfresco Community Full Installers + Alfresco Content Services Community Full Installers ${user.home}/binaries ${project.build.directory}/installbuilder ${binaries.folder}/build-classpath/code-signing ${binaries.folder}/build-classpath/license.xml + alfresco-content-services-community-full project.version=${installer.version.name} project.fullName='Alfresco Community' @@ -27,6 +28,13 @@ + + + org.alfresco + alfresco-installer-resources + ${project.version} + + @@ -195,16 +203,16 @@ org.alfresco - alfresco-community-distribution + alfresco-content-services-community-full-distribution ${project.version} zip - ${project.build.directory}/distribution + ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name} org.alfresco alfresco-solr1-distribution - ${alfresco.platform.version} + ${alfresco.solr.version} zip ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr diff --git a/pom.xml b/pom.xml index 5d21e1905d..7ebd6cff85 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,9 @@ 1.1.6 + 6.1 + 6.4 + 5.2-20170508 7.0.59-alfresco-distribution From 0014495ee3f797096dd62d1f5274d429b59e39ab Mon Sep 17 00:00:00 2001 From: Martin Muller Date: Mon, 4 Sep 2017 10:34:43 +0100 Subject: [PATCH 593/670] REPO-2715 incremented AOS to 1.1.7 version for full installer after R2R meeting --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7ebd6cff85..7408995826 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 3.0.4.1 - 1.1.6 + 1.1.7 6.1 6.4 From 460153b22865d69b4f6ff126880879b57eb6bfb5 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Thu, 7 Sep 2017 14:04:42 +0100 Subject: [PATCH 594/670] REPO-2815 Fix product name in readme --- distribution/src/main/resources/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 7581560600..820973291d 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -2,7 +2,7 @@ Alfresco Community (Build: ${installer.version.name}) =============================== Contains: - - Alfresco Platform: ${alfresco.platform.version} + - Alfresco Content Services Community: ${alfresco.platform.version} - Alfresco Share: ${alfresco.share.version} For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm From e44958ecee5eca98ea2db315a4bd117c012a9e5c Mon Sep 17 00:00:00 2001 From: CodrinChirica Date: Fri, 8 Sep 2017 11:08:54 +0300 Subject: [PATCH 595/670] REPO-2867: Service Pack: MNT-18400: Syntax error in Windows service stop script - fix syntax error in batch script AlfrescoRootDirectory\servicerun.bat --- installer-resources/src/main/resources/bitrock/servicerun.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer-resources/src/main/resources/bitrock/servicerun.bat b/installer-resources/src/main/resources/bitrock/servicerun.bat index e557bc538a..82ee111c57 100644 --- a/installer-resources/src/main/resources/bitrock/servicerun.bat +++ b/installer-resources/src/main/resources/bitrock/servicerun.bat @@ -39,7 +39,7 @@ if exist @@BITROCK_INSTALLDIR@@\jboss\scripts\servicerun.bat (start /MIN /WAIT c if exist @@BITROCK_INSTALLDIR@@\wildfly\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\wildfly\scripts\servicerun.bat STOP) if exist @@BITROCK_INSTALLDIR@@\resin\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\resin\scripts\servicerun.bat STOP) if exist @@BITROCK_INSTALLDIR@@\activemq\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\activemq\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat (start /MIN /WAIT cmd /C /WAIT @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat STOP) +if exist @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat STOP) if exist @@BITROCK_INSTALLDIR@@\openoffice\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\openoffice\scripts\servicerun.bat STOP) if exist @@BITROCK_INSTALLDIR@@\apache2\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\apache2\scripts\servicerun.bat STOP) if exist @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\servicerun.bat STOP) From 0f433b9fa5117c264204fd3da3b99e181e198e34 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Mon, 11 Sep 2017 18:13:12 +0100 Subject: [PATCH 596/670] REPO-1805 Use standard project dependency naming. So rather than --- distribution/pom.xml | 4 ++-- ear/pom.xml | 8 ++++---- enterprise-distribution/pom.xml | 4 ++-- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 2 +- public-javadoc/pom.xml | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 58af8c81ac..07ec45d55f 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -20,7 +20,7 @@ org.alfresco alfresco-content-services-community-distribution - ${alfresco.platform.version} + ${dependency.acs-packaging.version} zip @@ -82,7 +82,7 @@ org.alfresco alfresco-content-services-community-distribution - ${alfresco.platform.version} + ${dependency.acs-packaging.version} zip diff --git a/ear/pom.xml b/ear/pom.xml index c8d1407a96..8643c05eb4 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -15,7 +15,7 @@ org.alfresco alfresco-parent - ${alfresco.platform.version} + ${dependency.acs-packaging.version} pom import @@ -39,7 +39,7 @@ org.alfresco alfresco-server-root - ${alfresco.platform.version} + ${dependency.acs-packaging.version} war @@ -230,7 +230,7 @@ alfresco-content-services-full-distribution true - alfresco-content-services-full-distribution-${alfresco.platform.version}/solr4/,alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/webapps/,alfresco-content-services-full-distribution-${alfresco.platform.version}/modules/ + alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/solr4/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/webapps/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/modules/ @@ -262,7 +262,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/lib diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 4fd8b6745f..b029efb9db 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -19,7 +19,7 @@ org.alfresco alfresco-content-services-distribution - ${alfresco.platform.version} + ${dependency.acs-packaging.version} zip @@ -81,7 +81,7 @@ org.alfresco alfresco-content-services-distribution - ${alfresco.platform.version} + ${dependency.acs-packaging.version} zip diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 9e83c72beb..12ac4d8ec9 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -13,7 +13,7 @@ org.alfresco content-services - ${alfresco.platform.version} + ${dependency.acs-packaging.version} war diff --git a/installer/pom.xml b/installer/pom.xml index 41314cf846..3acb673601 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -276,7 +276,7 @@ org.alfresco alfresco-spp - ${alfresco.platform.version} + ${dependency.acs-packaging.version} amp alfresco-spp.amp diff --git a/pom.xml b/pom.xml index 7408995826..fd130187a5 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ - 5.3-SNAPSHOT + 5.3-SNAPSHOT 5.2.2-SNAPSHOT diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 1f2762229b..4aee9347ec 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -18,7 +18,7 @@ org.alfresco alfresco-remote-api - ${alfresco.platform.version} + ${dependency.acs-packaging.version} org.alfresco From 05354a55f6f0501241ca75e14d787c1f91f151e6 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 12 Sep 2017 13:07:02 +0100 Subject: [PATCH 597/670] REPO-1805 Use standard project dependency naming. So rather than (reverted from commit 0f433b9fa5117c264204fd3da3b99e181e198e34) --- distribution/pom.xml | 4 ++-- ear/pom.xml | 8 ++++---- enterprise-distribution/pom.xml | 4 ++-- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 2 +- public-javadoc/pom.xml | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 07ec45d55f..58af8c81ac 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -20,7 +20,7 @@ org.alfresco alfresco-content-services-community-distribution - ${dependency.acs-packaging.version} + ${alfresco.platform.version} zip @@ -82,7 +82,7 @@ org.alfresco alfresco-content-services-community-distribution - ${dependency.acs-packaging.version} + ${alfresco.platform.version} zip diff --git a/ear/pom.xml b/ear/pom.xml index 8643c05eb4..c8d1407a96 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -15,7 +15,7 @@ org.alfresco alfresco-parent - ${dependency.acs-packaging.version} + ${alfresco.platform.version} pom import @@ -39,7 +39,7 @@ org.alfresco alfresco-server-root - ${dependency.acs-packaging.version} + ${alfresco.platform.version} war @@ -230,7 +230,7 @@ alfresco-content-services-full-distribution true - alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/solr4/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/webapps/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/modules/ + alfresco-content-services-full-distribution-${alfresco.platform.version}/solr4/,alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/webapps/,alfresco-content-services-full-distribution-${alfresco.platform.version}/modules/ @@ -262,7 +262,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/lib diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index b029efb9db..4fd8b6745f 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -19,7 +19,7 @@ org.alfresco alfresco-content-services-distribution - ${dependency.acs-packaging.version} + ${alfresco.platform.version} zip @@ -81,7 +81,7 @@ org.alfresco alfresco-content-services-distribution - ${dependency.acs-packaging.version} + ${alfresco.platform.version} zip diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 12ac4d8ec9..9e83c72beb 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -13,7 +13,7 @@ org.alfresco content-services - ${dependency.acs-packaging.version} + ${alfresco.platform.version} war diff --git a/installer/pom.xml b/installer/pom.xml index 3acb673601..41314cf846 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -276,7 +276,7 @@ org.alfresco alfresco-spp - ${dependency.acs-packaging.version} + ${alfresco.platform.version} amp alfresco-spp.amp diff --git a/pom.xml b/pom.xml index fd130187a5..7408995826 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ - 5.3-SNAPSHOT + 5.3-SNAPSHOT 5.2.2-SNAPSHOT diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 4aee9347ec..1f2762229b 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -18,7 +18,7 @@ org.alfresco alfresco-remote-api - ${dependency.acs-packaging.version} + ${alfresco.platform.version} org.alfresco From 062cc8b2ba32af94ed3ef4a4f111d937065a052a Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 13 Sep 2017 11:51:23 +0100 Subject: [PATCH 598/670] REPO-2815 Update the dependencies for latest ACS --- distribution/pom.xml | 4 ++-- .../src/assembly/full-distribution.xml | 4 ++-- distribution/src/main/resources/README.txt | 2 +- ear/pom.xml | 18 ++--------------- ear/src/assembly/ear-distribution.xml | 4 ++-- enterprise-distribution/pom.xml | 4 ++-- .../src/main/resources/README.txt | 4 ++-- enterprise-war-for-ear/pom.xml | 2 +- installer/pom.xml | 8 -------- pom.xml | 20 +++++++++++++++++-- public-javadoc/pom.xml | 1 - 11 files changed, 32 insertions(+), 39 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 58af8c81ac..ecbca66e2f 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -20,7 +20,7 @@ org.alfresco alfresco-content-services-community-distribution - ${alfresco.platform.version} + ${dependency.acs-community-packaging.version} zip @@ -82,7 +82,7 @@ org.alfresco alfresco-content-services-community-distribution - ${alfresco.platform.version} + ${dependency.acs-community-packaging.version} zip diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index 736b953103..e7c2220e27 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -17,13 +17,13 @@ - ${project.build.directory}/dependency/alfresco-content-services-community-distribution-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-community-distribution-${dependency.acs-community-packaging.version} - ${project.build.directory}/dependency/alfresco-content-services-distribution-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-distribution-${dependency.acs-packaging.version} diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 820973291d..63104fc294 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -2,7 +2,7 @@ Alfresco Community (Build: ${installer.version.name}) =============================== Contains: - - Alfresco Content Services Community: ${alfresco.platform.version} + - Alfresco Content Services Community: ${dependency.acs-community-packaging.version} - Alfresco Share: ${alfresco.share.version} For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm diff --git a/ear/pom.xml b/ear/pom.xml index c8d1407a96..db01551f1b 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -9,19 +9,6 @@ pom - - - - - org.alfresco - alfresco-parent - ${alfresco.platform.version} - pom - import - - - - @@ -39,7 +26,6 @@ org.alfresco alfresco-server-root - ${alfresco.platform.version} war @@ -230,7 +216,7 @@ alfresco-content-services-full-distribution true - alfresco-content-services-full-distribution-${alfresco.platform.version}/solr4/,alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/webapps/,alfresco-content-services-full-distribution-${alfresco.platform.version}/modules/ + alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/solr4/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/webapps/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/modules/ @@ -262,7 +248,7 @@ 1.0.1 - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/lib + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/lib diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml index 0f3629d4b7..a7a3349f46 100644 --- a/ear/src/assembly/ear-distribution.xml +++ b/ear/src/assembly/ear-distribution.xml @@ -8,14 +8,14 @@ - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version} + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version} web-server/shared/** - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${alfresco.platform.version}/web-server/shared/classes + ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/shared/classes web-server/classpath diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index 4fd8b6745f..b029efb9db 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -19,7 +19,7 @@ org.alfresco alfresco-content-services-distribution - ${alfresco.platform.version} + ${dependency.acs-packaging.version} zip @@ -81,7 +81,7 @@ org.alfresco alfresco-content-services-distribution - ${alfresco.platform.version} + ${dependency.acs-packaging.version} zip diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt index 66e5741715..2bfc9a0f2b 100644 --- a/enterprise-distribution/src/main/resources/README.txt +++ b/enterprise-distribution/src/main/resources/README.txt @@ -2,7 +2,7 @@ Alfresco Content Services (Build: ${installer.version.name}) ============================================== Contains: - - Alfresco Content Services Platform: ${alfresco.platform.version} - - Alfresco Content Services Share: ${alfresco.share.version} + - Alfresco Content Services: ${dependency.acs-packaging.version} + - Alfresco Share: ${alfresco.share.version} See the Alfresco Support Portal (http://support.alfresco.com) for release notes and detailed information on this release. diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 9e83c72beb..12ac4d8ec9 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -13,7 +13,7 @@ org.alfresco content-services - ${alfresco.platform.version} + ${dependency.acs-packaging.version} war diff --git a/installer/pom.xml b/installer/pom.xml index 41314cf846..924558bb8f 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -272,14 +272,6 @@ ${alfresco.googledocs.version} amp - - - org.alfresco - alfresco-spp - ${alfresco.platform.version} - amp - alfresco-spp.amp - diff --git a/pom.xml b/pom.xml index 7408995826..105473093c 100644 --- a/pom.xml +++ b/pom.xml @@ -12,8 +12,11 @@ Alfresco Full Installation - - 5.3-SNAPSHOT + + 6.0.a-SNAPSHOT + + + 6.0.0-SNAPSHOT 5.2.2-SNAPSHOT @@ -74,6 +77,19 @@ share-po-run + + + + + org.alfresco + acs-packaging + ${dependency.acs-packaging.version} + pom + import + + + + community diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 1f2762229b..72f7d9fccc 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -18,7 +18,6 @@ org.alfresco alfresco-remote-api - ${alfresco.platform.version} org.alfresco From 745793ee7634e2f263c19d9d440f8989e1373f86 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 13 Sep 2017 11:57:31 +0100 Subject: [PATCH 599/670] REPO-2815 Update project version to 6.0 --- distribution/pom.xml | 2 +- ear/pom.xml | 2 +- enterprise-distribution/pom.xml | 2 +- enterprise-installer-resources/pom.xml | 2 +- enterprise-installer/pom.xml | 2 +- enterprise-war-for-ear/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 2 +- public-javadoc/pom.xml | 2 +- share-po-run/pom.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index ecbca66e2f..70ff79a8c6 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT alfresco-content-services-community-full-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml index db01551f1b..9489cf0b3d 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT pom diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml index b029efb9db..eb1c0a860e 100644 --- a/enterprise-distribution/pom.xml +++ b/enterprise-distribution/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT alfresco-content-services-full-distribution jar diff --git a/enterprise-installer-resources/pom.xml b/enterprise-installer-resources/pom.xml index 7d3706afeb..646aa67728 100644 --- a/enterprise-installer-resources/pom.xml +++ b/enterprise-installer-resources/pom.xml @@ -8,7 +8,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT ../pom.xml diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml index 3661787949..953f3ba136 100644 --- a/enterprise-installer/pom.xml +++ b/enterprise-installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT alfresco-content-services-full-installer pom diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml index 12ac4d8ec9..41219c3651 100644 --- a/enterprise-war-for-ear/pom.xml +++ b/enterprise-war-for-ear/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT war diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index e2eaadc9a4..6e70e869c2 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -8,7 +8,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 924558bb8f..47a62a6fa3 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT alfresco-content-services-community-full-installer pom diff --git a/pom.xml b/pom.xml index 105473093c..6090554018 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 6 alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT pom Alfresco Full Installation diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 72f7d9fccc..8cff52981d 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml index ed88f62bc6..19942d4827 100644 --- a/share-po-run/pom.xml +++ b/share-po-run/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-full-installation - 5.3-SNAPSHOT + 6.0-SNAPSHOT pom From f73733357cdad4b048fae97094a2cdd87fa4b4e9 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 13 Sep 2017 13:03:44 +0100 Subject: [PATCH 600/670] REPO-2815 Fix module management in top level pom[D --- pom.xml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 6090554018..21e55a8487 100644 --- a/pom.xml +++ b/pom.xml @@ -66,15 +66,8 @@ distribution - enterprise-distribution public-javadoc - installer installer-resources - enterprise-installer - enterprise-installer-resources - enterprise-war-for-ear - ear - share-po-run @@ -106,6 +99,7 @@ enterprise-war-for-ear ear enterprise-distribution + enterprise-installer-resources enterprise-installer From 8f5ad456f6960943fd898c34d5bb717ca4fcbab3 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Thu, 14 Sep 2017 13:37:59 +0100 Subject: [PATCH 601/670] REPO-2815 Update community dependency to 6.0.b --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 21e55a8487..151d135f25 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ - 6.0.a-SNAPSHOT + 6.0.b-SNAPSHOT 6.0.0-SNAPSHOT From 358e53edd069b506d08c5d2fe6a93816295226e5 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Thu, 14 Sep 2017 14:50:36 +0100 Subject: [PATCH 602/670] REPO-2815 Update solr4 version to 6.5 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 151d135f25..9969d90f08 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ 1.1.7 6.1 - 6.4 + 6.5 5.2-20170508 From 818a92a68b03d6c4a8fc93d27b98463661f80857 Mon Sep 17 00:00:00 2001 From: Petru Obreja Date: Mon, 18 Sep 2017 14:20:50 +0300 Subject: [PATCH 603/670] GOOGLEDOCS-401 Update googledocs module to be compatible with ACS 6.0 - Updated full-installer's pom to use googledocs.version as 3.0.4.2 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9969d90f08..0ffb050c2d 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 5.2.2-SNAPSHOT - 3.0.4.1 + 3.0.4.2 1.1.7 From 323d4889a7a9391a415808daa733636a30c05ac9 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 6 Oct 2017 10:59:42 +0100 Subject: [PATCH 604/670] REPO-2886 Prepare community version of the full packaging --- distribution/pom.xml | 5 +- ear/pom.xml | 292 ------------------ ear/src/assembly/ear-distribution.xml | 36 --- ear/src/assembly/myfaces-websphere.xml | 43 --- .../main/application/META-INF/application.xml | 29 -- .../deployments/defaultApp/deployment.xml | 10 - .../servers/defaultServer/libraries.xml | 4 - .../META-INF/jboss-deployment-structure.xml | 19 -- .../META-INF/weblogic-application.xml | 132 -------- .../main/resources/commons-logging.properties | 2 - enterprise-distribution/pom.xml | 127 -------- .../src/main/resources/README.txt | 8 - enterprise-installer-resources/pom.xml | 23 -- .../shared/alfresco-global.properties | 74 ----- enterprise-installer/pom.xml | 236 -------------- enterprise-war-for-ear/pom.xml | 81 ----- installer-resources/pom.xml | 4 +- installer/pom.xml | 5 +- pom.xml | 35 +-- public-javadoc/pom.xml | 5 +- share-po-run/pom.xml | 42 --- 21 files changed, 18 insertions(+), 1194 deletions(-) delete mode 100644 ear/pom.xml delete mode 100644 ear/src/assembly/ear-distribution.xml delete mode 100644 ear/src/assembly/myfaces-websphere.xml delete mode 100644 ear/src/main/application/META-INF/application.xml delete mode 100644 ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml delete mode 100644 ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml delete mode 100644 ear/src/main/application/META-INF/jboss-deployment-structure.xml delete mode 100644 ear/src/main/application/META-INF/weblogic-application.xml delete mode 100644 ear/src/main/resources/commons-logging.properties delete mode 100644 enterprise-distribution/pom.xml delete mode 100644 enterprise-distribution/src/main/resources/README.txt delete mode 100644 enterprise-installer-resources/pom.xml delete mode 100644 enterprise-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties delete mode 100644 enterprise-installer/pom.xml delete mode 100644 enterprise-war-for-ear/pom.xml delete mode 100644 share-po-run/pom.xml diff --git a/distribution/pom.xml b/distribution/pom.xml index 70ff79a8c6..490d54d421 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,8 +3,9 @@ 4.0.0 org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT + full-community-packaging + 6.0.0-SNAPSHOT + ../pom.xml alfresco-content-services-community-full-distribution jar diff --git a/ear/pom.xml b/ear/pom.xml deleted file mode 100644 index 9489cf0b3d..0000000000 --- a/ear/pom.xml +++ /dev/null @@ -1,292 +0,0 @@ - - 4.0.0 - alfresco-content-services-full-ear-distribution - Alfresco Content Services Full EAR Distribution - - org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT - - pom - - - - - org.alfresco - alfresco-content-services-war-for-ear - ${project.version} - war - - - org.alfresco - share - ${alfresco.share.version} - war - - - org.alfresco - alfresco-server-root - war - - - org.alfresco.aos-module - alfresco-vti-bin - ${alfresco.aos-module.version} - war - - - - - - org.alfresco - alfresco-content-services-full-distribution - ${project.version} - zip - provided - - - * - * - - - - - org.alfresco - alfresco-content-services-share-distribution - ${alfresco.share.version} - zip - provided - - - * - * - - - - - - - org.apache.ws.commons.axiom - axiom-api - provided - - - org.apache.ws.commons.axiom - axiom-impl - provided - - - cglib - cglib-nodep - 2.3 - provided - - - commons-beanutils - commons-beanutils - provided - - - commons-codec - commons-codec - provided - - - commons-collections - commons-collections - provided - - - commons-digester - commons-digester - provided - - - commons-lang - commons-lang - provided - - - org.codehaus.jackson - jackson-core-asl - provided - - - org.codehaus.jackson - jackson-mapper-asl - provided - - - org.apache.myfaces.core - myfaces-api - provided - - - org.apache.myfaces.core - myfaces-impl - provided - - - com.sun.xml.bind - jaxb-impl - provided - - - com.sun.xml.bind - jaxb-core - 2.2.11 - provided - - - javax.xml.bind - jaxb-api - 2.2.12 - provided - - - org.apache.httpcomponents - httpclient - 4.3.3 - provided - - - org.apache.httpcomponents - httpcore - 4.3.2 - provided - - - org.aspectj - aspectjrt - 1.8.2 - provided - - - - - ${project.artifactId}-${project.version} - - - - maven-ear-plugin - 2.10.1 - - - build-ear - - ear - - - - - - - org.alfresco - alfresco-content-services-war-for-ear - alfresco.war - - - org.alfresco - share - share.war - - - org.alfresco - alfresco-server-root - ROOT.war - - - org.alfresco.aos-module - alfresco-vti-bin - _vti_bin.war - - - - - - - maven-dependency-plugin - - - unpack-platform-distribution - prepare-package - - unpack-dependencies - - - alfresco-content-services-full-distribution - true - alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/solr4/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/webapps/,alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/modules/ - - - - - unpack-share-distribution - prepare-package - - unpack-dependencies - - - alfresco-content-services-share-distribution - true - * - alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples/ - - - - - get-vaadin - prepare-package - - copy - - - - - com.vaadin - vaadin-application-server-class-loader-workaround - 1.0.1 - - - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/lib - - - - - - - maven-assembly-plugin - - - make-myfaces-zip - package - - single - - - - src/assembly/myfaces-websphere.xml - - myfaces1_1-websphere-shared-lib-${project.version} - false - - - - - make-ear-zip - package - - single - - - - src/assembly/ear-distribution.xml - - false - - - - - - - diff --git a/ear/src/assembly/ear-distribution.xml b/ear/src/assembly/ear-distribution.xml deleted file mode 100644 index a7a3349f46..0000000000 --- a/ear/src/assembly/ear-distribution.xml +++ /dev/null @@ -1,36 +0,0 @@ - - distribution - - zip - - false - - - - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version} - - - web-server/shared/** - - - - ${project.build.directory}/dependency/alfresco-content-services-full-distribution-${dependency.acs-packaging.version}/web-server/shared/classes - web-server/classpath - - - ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples - web-server/classpath/alfresco/web-extension - - - - - - ${project.build.directory}/myfaces1_1-websphere-shared-lib-${project.version}.zip - - - ${project.build.directory}/alfresco-content-services-full-ear-distribution-${project.version}.ear - alfresco-content-services-${project.version}.ear - - - diff --git a/ear/src/assembly/myfaces-websphere.xml b/ear/src/assembly/myfaces-websphere.xml deleted file mode 100644 index a3e8a74866..0000000000 --- a/ear/src/assembly/myfaces-websphere.xml +++ /dev/null @@ -1,43 +0,0 @@ - - myfaces-websphere - - zip - - false - - - - src/main/resources - myfaces1_1 - - - - - - myfaces1_1 - - *:*:jar - - - *:jaxb*:jar - - provided - false - true - false - - - - java/jre/lib/endorsed - - *:jaxb*:jar - - provided - false - true - false - - - - diff --git a/ear/src/main/application/META-INF/application.xml b/ear/src/main/application/META-INF/application.xml deleted file mode 100644 index a659dcb723..0000000000 --- a/ear/src/main/application/META-INF/application.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - Alfresco - - - alfresco.war - /alfresco - - - - - share.war - /share - - - - - ROOT.war - / - - - - - _vti_bin.war - /_vti_bin - - - diff --git a/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml b/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml deleted file mode 100644 index 76408d6775..0000000000 --- a/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml b/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml deleted file mode 100644 index 27ce6b48e5..0000000000 --- a/ear/src/main/application/META-INF/ibmconfig/cells/defaultCell/nodes/defaultNode/servers/defaultServer/libraries.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - $(WAS_INSTALL_ROOT)/myfaces1_1 - diff --git a/ear/src/main/application/META-INF/jboss-deployment-structure.xml b/ear/src/main/application/META-INF/jboss-deployment-structure.xml deleted file mode 100644 index 655e7c208d..0000000000 --- a/ear/src/main/application/META-INF/jboss-deployment-structure.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ear/src/main/application/META-INF/weblogic-application.xml b/ear/src/main/application/META-INF/weblogic-application.xml deleted file mode 100644 index 62846f6922..0000000000 --- a/ear/src/main/application/META-INF/weblogic-application.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - repoclient - Alfresco Repository Client - - - - - webapp.encoding.default - UTF-8 - - - - antlr.* - com.ctc.wstx.* - com.fasterxml.jackson.* - com.google.common.* - com.sun.codemodel.* - com.sun.istack.* - com.sun.mail.* - com.sun.tools.* - com.sun.xml.bind.* - javax.annotation.* - javax.annotation.security.* - javax.wsdl.* - javax.wsdl.extensions.* - javax.wsdl.factory.* - javax.wsdl.xml.* - javax.inject.* - javax.jms.* - javax.mail.* - javax.mail.event.* - javax.mail.internet.* - javax.mail.search.* - javax.mail.util.* - javax.management.j2ee.* - javax.transaction.* - javax.transaction.xa.* - javax.xml.rpc.* - net.jcip.annotations.* - net.sf.cglib.* - org.antlr.runtime.* - org.aopalliance.aop.* - org.aopalliance.intercept.* - org.apache.commons.* - org.apache.oro.* - org.apache.taglibs.* - org.apache.xerces.* - org.apache.xmlbeans.* - org.apache.xmlcommons.* - org.bouncycastle.* - org.bouncycastle.asn1.* - org.bouncycastle.crypto.* - org.bouncycastle.i18n.* - org.bouncycastle.jce.* - org.bouncycastle.math.* - org.bouncycastle.mozilla.* - org.bouncycastle.ocsp.* - org.bouncycastle.openssl.* - org.bouncycastle.util.* - org.bouncycastle.voms.* - org.bouncycastle.x509.* - org.codehaus.jackson.* - org.codehaus.stax2.* - org.joda.time.* - org.jvnet.fastinfoset.* - org.kohsuke.rngom.* - org.mozilla.* - org.objectweb.asm.* - org.opensaml.* - org.opensaml.common.* - org.opensaml.saml2.* - org.opensaml.xml.* - org.relaxng.datatype.* - org.slf4j.* - org.slf4j.helpers.* - org.slf4j.impl.* - org.slf4j.spi.* - org.xmlpull.* - repackage.* - schemaorg_apache_xmlbeans.system.sXMLCONFIG.* - schemaorg_apache_xmlbeans.system.sXMLLANG.* - schemaorg_apache_xmlbeans.system.sXMLSCHEMA.* - schemaorg_apache_xmlbeans.system.sXMLTOOLS.* - - - - - - META-INF/services/javax.servlet.ServletContainerInitializer - META-INF/services/javax.xml.bind.JAXBContext - META-INF/services/javax.xml.ws.spi.Provider - - - - false - - - diff --git a/ear/src/main/resources/commons-logging.properties b/ear/src/main/resources/commons-logging.properties deleted file mode 100644 index 59d017919e..0000000000 --- a/ear/src/main/resources/commons-logging.properties +++ /dev/null @@ -1,2 +0,0 @@ -priority=1 -org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl diff --git a/enterprise-distribution/pom.xml b/enterprise-distribution/pom.xml deleted file mode 100644 index eb1c0a860e..0000000000 --- a/enterprise-distribution/pom.xml +++ /dev/null @@ -1,127 +0,0 @@ - - 4.0.0 - - org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT - - alfresco-content-services-full-distribution - jar - Alfresco Content Services Full Distribution - - - - 8080 - - - - - org.alfresco - alfresco-content-services-distribution - ${dependency.acs-packaging.version} - zip - - - * - * - - - - - - - org.alfresco - alfresco-solr4-distribution - ${alfresco.solr4.version} - zip - - - * - * - - - - - - - org.alfresco - alfresco-content-services-share-distribution - ${alfresco.share.version} - zip - - - * - * - - - - - - - ${project.artifactId}-${project.version} - - - src/main/resources - true - - - - - maven-dependency-plugin - - - extract-keystore - generate-resources - - unpack - - - - - org.alfresco - alfresco-content-services-distribution - ${dependency.acs-packaging.version} - zip - - - org.alfresco - alfresco-solr4-distribution - ${alfresco.solr4.version} - zip - ${project.build.directory}/dependency/solr4 - - - org.alfresco - alfresco-content-services-share-distribution - ${alfresco.share.version} - zip - - - - - - - - - maven-assembly-plugin - - - make-assembly - package - - single - - - false - - ../distribution/src/assembly/full-distribution.xml - - - - - - - - - diff --git a/enterprise-distribution/src/main/resources/README.txt b/enterprise-distribution/src/main/resources/README.txt deleted file mode 100644 index 2bfc9a0f2b..0000000000 --- a/enterprise-distribution/src/main/resources/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -Alfresco Content Services (Build: ${installer.version.name}) -============================================== - -Contains: - - Alfresco Content Services: ${dependency.acs-packaging.version} - - Alfresco Share: ${alfresco.share.version} - -See the Alfresco Support Portal (http://support.alfresco.com) for release notes and detailed information on this release. diff --git a/enterprise-installer-resources/pom.xml b/enterprise-installer-resources/pom.xml deleted file mode 100644 index 646aa67728..0000000000 --- a/enterprise-installer-resources/pom.xml +++ /dev/null @@ -1,23 +0,0 @@ - - 4.0.0 - alfresco-content-services-installer-resources - jar - Alfresco Content Services Installer Resources - - - org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT - ../pom.xml - - - - - - src/main/resources - false - - - - diff --git a/enterprise-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/enterprise-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties deleted file mode 100644 index d26847d3bf..0000000000 --- a/enterprise-installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ /dev/null @@ -1,74 +0,0 @@ - -############################### -## Common Alfresco Properties # -## Enterprise overlay # -############################### - -dir.root=@@BITROCK_DATA_DIR@@ - -alfresco.context=alfresco -alfresco.host=@@BITROCK_TOMCAT_HOST@@ -alfresco.port=@@BITROCK_TOMCAT_PORT@@ -alfresco.protocol=http - -share.context=share -share.host=@@BITROCK_TOMCAT_HOST@@ -share.port=@@BITROCK_TOMCAT_PORT@@ -share.protocol=http - -### database connection properties ### -db.driver=org.postgresql.Driver -db.username=@@BITROCK_DB_USER@@ -db.password=@@BITROCK_DB_PASSWORD@@ -#To use encrypted properties for the database uncomment the following line -# the encrypted value is added into alfresco-encrypted.properties -#db.password=${db.password.enc} -#db.username=${db.username.enc} -db.name=@@BITROCK_DB_NAME@@ -db.url=jdbc:postgresql://localhost:@@BITROCK_POSTGRESQL_PORT@@/${db.name} -# Note: your database must also be able to accept at least this many connections. Please see your database documentation for instructions on how to configure this. -db.pool.max=275 -db.pool.validate.query=@@BITROCK_DB_VALIDATE_QUERY@@ - -# The server mode. Set value here -# UNKNOWN | TEST | BACKUP | PRODUCTION -system.serverMode=UNKNOWN - -### FTP Server Configuration ### -ftp.port=@@BITROCK_FTP_PORT@@ - -### RMI registry port for JMX ### -alfresco.rmi.services.port=@@BITROCK_RMI_PORT@@ -monitor.rmi.service.port=0 - -### External executable locations ### -ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ -ooo.enabled=false -ooo.port=@@BITROCK_LO_PORT@@ -@@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ -@@BITROCK_ALFRESCO_PDF_RENDERER_ENV@@ - -jodconverter.enabled=true -jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ -jodconverter.portNumbers=@@BITROCK_LO_PORT@@ - -### Initial admin password ### -alfresco_user_store.adminpassword=@@BITROCK_ALFRESCO_ADMIN_PASSWORD@@ - -### E-mail site invitation setting ### -notification.email.siteinvite=false - -### License location ### -dir.license.external=@@BITROCK_ALFRESCO_LICENSE_DIR@@ - -### Solr indexing ### -index.subsystem.name=solr4 -dir.keystore=${dir.root}/keystore -solr.host=localhost -solr.port.ssl=@@BITROCK_SOLR_SSL_PORT@@ - -### Smart Folders Config Properties ### -smart.folders.enabled=false - -### Remote JMX (Default: disabled) ### -alfresco.jmx.connector.enabled=false \ No newline at end of file diff --git a/enterprise-installer/pom.xml b/enterprise-installer/pom.xml deleted file mode 100644 index 953f3ba136..0000000000 --- a/enterprise-installer/pom.xml +++ /dev/null @@ -1,236 +0,0 @@ - - 4.0.0 - - org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT - - alfresco-content-services-full-installer - pom - Alfresco Content Services Full Installers - - - ${user.home}/binaries - ${project.build.directory}/installbuilder - ${binaries.folder}/build-classpath/code-signing - ${binaries.folder}/build-classpath/license.xml - - project.version=${installer.version.name} - project.fullName='Alfresco Content Services' - project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 - project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=enterprise - alfresco_package='${alfresco.package.name}' - alfrescogoogledocs_component_enabled=1 - alfrescosolr_component_enabled=1 - alfrescowcmqs_component_enabled=1 - project.outputDirectory=${project.build.directory} - - - - alfresco-content-services-full - alfresco-content-services-full-distribution - - - ${project.version} - - - - - - org.alfresco - alfresco-installer-resources - ${project.version} - pom - - - org.alfresco - alfresco-installer-resources - ${project.version} - - - org.alfresco - alfresco-content-services-installer-resources - ${project.version} - - - - - - - maven-dependency-plugin - - - - download-dependencies - - resolve - - - - get-distribution - prepare-package - - unpack - - - - - org.alfresco - alfresco-installer-resources - ${project.version} - ${project.build.directory}/classes - - - org.alfresco - alfresco-content-services-installer-resources - ${project.version} - ${project.build.directory}/classes - - - org.alfresco - alfresco-content-services-full-distribution - ${project.version} - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name} - - - - org.alfresco - alfresco-solr1-distribution - ${alfresco.solr.version} - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr - - - - org.alfresco - alfresco-wcmqs-distribution - ${alfresco.share.version} - zip - ${project.build.directory}/wcmqs - - - - org.alfresco - alfresco-wcmqs-web - ${alfresco.share.version} - classes - ${project.build.directory}/wcmqs - alfresco/web-extension/** - - - - org.alfresco - alfresco-wcmqs-client-api - ${alfresco.share.version} - ${project.build.directory}/wcmqs - alfresco/extension/** - - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - zip - ${project.build.directory}/distribution/aos-module - - - - - - get-amps - prepare-package - - copy - - - - - org.alfresco.integrations - alfresco-googledocs-repo - ${alfresco.googledocs.version} - enterprise - amp - - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - enterprise - amp - - - - - - - - - maven-antrun-plugin - - - - extract-binaries-tgz - prepare-package - - run - - - - - - - - - - build-installers - package - - run - - - ${project.build.directory}/classes/bitrock - - - - - - - - - - - - - - - - win-bitrock - - - windows - - - - ${bitrock.folder}/bin/builder-cli.exe - - - - linux-bitrock - - - linux - - - - ${bitrock.folder}/bin/builder - - - - - diff --git a/enterprise-war-for-ear/pom.xml b/enterprise-war-for-ear/pom.xml deleted file mode 100644 index 41219c3651..0000000000 --- a/enterprise-war-for-ear/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ - - 4.0.0 - alfresco-content-services-war-for-ear - Alfresco Content Services WAR for inclusion in EAR - - org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT - - war - - - - org.alfresco - content-services - ${dependency.acs-packaging.version} - war - - - org.alfresco - alfresco-share-services - ${alfresco.share.version} - amp - - - org.alfresco.aos-module - alfresco-aos-module - ${alfresco.aos-module.version} - amp - - - * - * - - - - - - - alfresco - - - maven-war-plugin - - - - org.alfresco.maven.plugin - alfresco-maven-plugin - 2.2.0 - - - - true - - - org.alfresco - content-services - war - - - org.alfresco - alfresco-share-services - amp - - - org.alfresco.aos-module - alfresco-aos-module - amp - - - - - - true - - - - - - - diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index 6e70e869c2..eaddaf9d08 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,8 +7,8 @@ org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT + full-community-packaging + 6.0.0-SNAPSHOT ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 47a62a6fa3..5b3d09c7b3 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,8 +3,9 @@ 4.0.0 org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT + full-community-packaging + 6.0.0-SNAPSHOT + ../pom.xml alfresco-content-services-community-full-installer pom diff --git a/pom.xml b/pom.xml index 0ffb050c2d..dc8d0a781d 100644 --- a/pom.xml +++ b/pom.xml @@ -6,8 +6,8 @@ alfresco-super-pom 6 - alfresco-full-installation - 6.0-SNAPSHOT + full-community-packaging + 6.0.0-SNAPSHOT pom Alfresco Full Installation @@ -15,9 +15,6 @@ 6.0.b-SNAPSHOT - - 6.0.0-SNAPSHOT - 5.2.2-SNAPSHOT @@ -67,16 +64,17 @@ distribution public-javadoc - installer-resources + installer-resources + installer - + org.alfresco - acs-packaging - ${dependency.acs-packaging.version} + acs-community-packaging + ${dependency.acs-community-packaging.version} pom import @@ -84,25 +82,6 @@ - - community - - true - - - installer - - - - enterprise - - enterprise-war-for-ear - ear - enterprise-distribution - enterprise-installer-resources - enterprise-installer - - release diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 8cff52981d..e71bbe7e92 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -4,8 +4,9 @@ Javadoc of Public API org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT + full-community-packaging + 6.0.0-SNAPSHOT + ../pom.xml pom diff --git a/share-po-run/pom.xml b/share-po-run/pom.xml deleted file mode 100644 index 19942d4827..0000000000 --- a/share-po-run/pom.xml +++ /dev/null @@ -1,42 +0,0 @@ - - 4.0.0 - alfresco-installer-share-po - Share Page Object tests passed on the installer - - org.alfresco - alfresco-full-installation - 6.0-SNAPSHOT - - pom - - - - - - - maven-dependency-plugin - - - unpack-pom - generate-test-resources - - unpack - - - - - org.alfresco - share-po - ${alfresco.share.version} - src - zip - ${project.build.directory} - - - - - - - - - From 39252f8c223aab2bd56c494b30901cdeb8bc5858 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 6 Oct 2017 17:37:16 +0100 Subject: [PATCH 605/670] REPO-2886 Change project name --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dc8d0a781d..2ea35dfb4d 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ full-community-packaging 6.0.0-SNAPSHOT pom - Alfresco Full Installation + Alfresco Full Community Packaging From 8b77ce79b6f0a0ba64e338b8a2fc9f5b47fb06dc Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 10 Oct 2017 11:49:46 +0100 Subject: [PATCH 606/670] REPO-2886 Tidy up poms. Add scm config --- distribution/pom.xml | 17 +-- installer-resources/pom.xml | 2 +- installer/pom.xml | 87 +++++++----- pom.xml | 269 ++++++++++++++++++++++++++++++++---- public-javadoc/pom.xml | 2 +- 5 files changed, 294 insertions(+), 83 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 490d54d421..f2f2c95a68 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -4,11 +4,11 @@ org.alfresco full-community-packaging - 6.0.0-SNAPSHOT - ../pom.xml + 6.0.0-SNAPSHOT + ../pom.xml alfresco-content-services-community-full-distribution - jar + pom Alfresco Content Services Community Full Distribution @@ -17,11 +17,9 @@ - org.alfresco alfresco-content-services-community-distribution - ${dependency.acs-community-packaging.version} zip @@ -30,12 +28,9 @@ - - org.alfresco alfresco-solr4-distribution - ${alfresco.solr4.version} zip @@ -44,12 +39,9 @@ - - org.alfresco alfresco-content-services-share-distribution - ${alfresco.share.version} zip @@ -83,20 +75,17 @@ org.alfresco alfresco-content-services-community-distribution - ${dependency.acs-community-packaging.version} zip org.alfresco alfresco-solr4-distribution - ${alfresco.solr4.version} zip ${project.build.directory}/dependency/solr4 org.alfresco alfresco-content-services-share-distribution - ${alfresco.share.version} zip diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index eaddaf9d08..18deeca383 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -3,7 +3,7 @@ 4.0.0 alfresco-installer-resources jar - Alfresco Installer Resources + Alfresco Content Services Installer Resources org.alfresco diff --git a/installer/pom.xml b/installer/pom.xml index 5b3d09c7b3..b088eb26e3 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,9 +3,9 @@ 4.0.0 org.alfresco - full-community-packaging - 6.0.0-SNAPSHOT - ../pom.xml + full-community-packaging + 6.0.0-SNAPSHOT + ../pom.xml alfresco-content-services-community-full-installer pom @@ -18,23 +18,62 @@ ${binaries.folder}/build-classpath/license.xml alfresco-content-services-community-full - project.version=${installer.version.name} - project.fullName='Alfresco Community' - project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 - project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=community - alfresco_package='${alfresco.package.name}' - project.outputDirectory=${project.build.directory} + project.version=${installer.version.name} + project.fullName='Alfresco Content Services Community' + project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 + project.windowsSigningPkcs12Password=${p12Password} + alfresco_edition=community + alfresco_package='${alfresco.package.name}' + project.outputDirectory=${project.build.directory} - org.alfresco alfresco-installer-resources ${project.version} + + org.alfresco + alfresco-content-services-community-full-distribution + ${project.version} + zip + + + org.alfresco + alfresco-solr1-distribution + zip + + + org.alfresco + alfresco-wcmqs-distribution + zip + + + org.alfresco + alfresco-wcmqs-web + classes + + + org.alfresco + alfresco-wcmqs-client-api + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + zip + + + org.alfresco.integrations + alfresco-googledocs-repo + amp + + + org.alfresco.integrations + alfresco-googledocs-share + amp + @@ -42,7 +81,6 @@ org.alfresco installer-common - ${installer.common.version} linux tgz @@ -51,14 +89,12 @@ org.apache.tomcat tomcat - ${installer.tomcat.version} linux tgz org.apache.tomcat tomcat - ${installer.tomcat.version} win64 tgz @@ -67,14 +103,12 @@ org.postgresql postgresql-distribution - ${installer.postgresql.version} linux tgz org.postgresql postgresql-distribution - ${installer.postgresql.version} win64 tgz @@ -83,14 +117,12 @@ com.oracle.java jre - ${installer.java.version} linux tgz com.oracle.java jre - ${installer.java.version} win64 tgz @@ -99,14 +131,12 @@ org.libreoffice libreoffice-dist - ${installer.libreoffice.version} linux tgz org.libreoffice libreoffice-dist - ${installer.libreoffice.version} windows tgz @@ -115,14 +145,12 @@ org.alfresco alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} linux tgz org.alfresco alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} win64 tgz @@ -131,14 +159,12 @@ org.imagemagick imagemagick-distribution - ${installer.imagemagick.version} linux tgz org.imagemagick imagemagick-distribution - ${installer.imagemagick.version} win64 tgz @@ -147,14 +173,12 @@ com.bitnami installbuilder - ${installer.installbuilder.version} linux tgz com.bitnami installbuilder - ${installer.installbuilder.version} win tgz @@ -163,14 +187,12 @@ org.alfresco manager - ${installer.manager.version} linux tgz org.alfresco manager - ${installer.manager.version} win64 tgz @@ -199,13 +221,11 @@ org.alfresco alfresco-installer-resources - ${project.version} ${project.build.directory}/classes org.alfresco alfresco-content-services-community-full-distribution - ${project.version} zip ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name} @@ -213,7 +233,6 @@ org.alfresco alfresco-solr1-distribution - ${alfresco.solr.version} zip ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr @@ -221,7 +240,6 @@ org.alfresco alfresco-wcmqs-distribution - ${alfresco.share.version} zip ${project.build.directory}/wcmqs @@ -229,7 +247,6 @@ org.alfresco alfresco-wcmqs-web - ${alfresco.share.version} classes ${project.build.directory}/wcmqs alfresco/web-extension/** @@ -238,7 +255,6 @@ org.alfresco alfresco-wcmqs-client-api - ${alfresco.share.version} ${project.build.directory}/wcmqs alfresco/extension/** @@ -246,7 +262,6 @@ org.alfresco.aos-module alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} zip ${project.build.directory}/distribution/aos-module @@ -264,13 +279,11 @@ org.alfresco.integrations alfresco-googledocs-repo - ${alfresco.googledocs.version} amp org.alfresco.integrations alfresco-googledocs-share - ${alfresco.googledocs.version} amp diff --git a/pom.xml b/pom.xml index 2ea35dfb4d..fa3a6526b5 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,14 @@ full-community-packaging 6.0.0-SNAPSHOT pom - Alfresco Full Community Packaging + Alfresco Content Services Community Full Packaging + + + scm:git:https://git.alfresco.com/Repository/full-community-packaging.gitt + scm:git:https://git.alfresco.com/Repository/full-community-packaging.git + https://git.alfresco.com/Repository/full-community-packaging.git + HEAD + @@ -45,18 +52,12 @@ 15.10.1 - - SNAPSHOT-0 - - - ${installer.build.timestamp}-${installer.build.number} - + + ${project.version}${alfresco.release.availability} alfresco-community ${alfresco.package.name}-distribution @@ -64,8 +65,8 @@ distribution public-javadoc - installer-resources - installer + installer-resources + installer @@ -78,26 +79,234 @@ pom import + + org.alfresco + alfresco-content-services-community-distribution + ${dependency.acs-community-packaging.version} + zip + + + org.alfresco.aos-module + alfresco-aos-module + ${alfresco.aos-module.version} + amp + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} + zip + + + org.alfresco.aos-module + alfresco-vti-bin + ${alfresco.aos-module.version} + war + + + org.alfresco + alfresco-content-services-share-distribution + ${alfresco.share.version} + zip + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + + + org.alfresco + share + ${alfresco.share.version} + war + + + org.alfresco + alfresco-solr1-distribution + ${alfresco.solr.version} + zip + + + org.alfresco + alfresco-solr4-distribution + ${alfresco.solr4.version} + zip + + + org.alfresco + alfresco-wcmqs-distribution + ${alfresco.share.version} + zip + + + org.alfresco + alfresco-wcmqs-web + ${alfresco.share.version} + classes + + + org.alfresco + alfresco-wcmqs-client-api + ${alfresco.share.version} + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + amp + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + + + + + org.alfresco + installer-common + ${installer.common.version} + linux + tgz + + + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + linux + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + win64 + tgz + + + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + linux + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + win64 + tgz + + + + + com.oracle.java + jre + ${installer.java.version} + linux + tgz + + + com.oracle.java + jre + ${installer.java.version} + win64 + tgz + + + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + linux + tgz + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + windows + tgz + + + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + win64 + tgz + + + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + linux + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + win64 + tgz + + + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + linux + tgz + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + win + tgz + + + + + org.alfresco + manager + ${installer.manager.version} + linux + tgz + + + org.alfresco + manager + ${installer.manager.version} + win64 + tgz + - - - release - - yyyyMM - - ${installer.build.timestamp}${release.availability} - - - - + + alfresco-internal + https://artifacts.alfresco.com/nexus/content/repositories/enterprise-releases + alfresco-internal-snapshots https://artifacts.alfresco.com/nexus/content/repositories/internal-snapshots diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index e71bbe7e92..a31e26161e 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -1,7 +1,7 @@ 4.0.0 alfresco-public-javadoc - Javadoc of Public API + Alfresco Content Services Public API Javadoc org.alfresco full-community-packaging From 03f32226f989900aac31bd07eea4707c130620db Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 10 Oct 2017 17:32:32 +0100 Subject: [PATCH 607/670] REPO-2886 Change installer command variables --- installer/pom.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index b088eb26e3..d2faacdd30 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -14,13 +14,14 @@ ${user.home}/binaries ${project.build.directory}/installbuilder - ${binaries.folder}/build-classpath/code-signing - ${binaries.folder}/build-classpath/license.xml + + + alfresco-content-services-community-full project.version=${installer.version.name} project.fullName='Alfresco Content Services Community' - project.windowsSigningPkcs12File=${signing.key.location}/Alfresco-Software-Ltd.p12 + project.windowsSigningPkcs12File=${signing.key.location} project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=community alfresco_package='${alfresco.package.name}' From 16930a5917ab230a5b216c0bace61ce1e75db7b9 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 11 Oct 2017 13:27:38 +0100 Subject: [PATCH 608/670] REPO-2886 Remove unnecessary variables --- installer/pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index d2faacdd30..29cfd4005e 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -14,9 +14,6 @@ ${user.home}/binaries ${project.build.directory}/installbuilder - - - alfresco-content-services-community-full project.version=${installer.version.name} From 96e8daf85e99ad39c2831408bff658b069f7a96e Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 11 Oct 2017 15:39:22 +0100 Subject: [PATCH 609/670] REPO-2886 Add gitattributes file --- .gitattributes | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..8303247a39 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +.* eol=crlf +*.html eol=crlf +*.java eol=crlf +*.txt eol=crlf +*.css eol=crlf +*.xml eol=crlf +*.js eol=crlf +*.properties eol=crlf \ No newline at end of file From 42c5c4e9da47459ae488190e55e97cb4265e4d12 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 11 Oct 2017 15:53:55 +0100 Subject: [PATCH 610/670] REPO-2886 Change bitrock command arguments to a single line --- installer/pom.xml | 743 +++++++++++++++++++++++----------------------- 1 file changed, 368 insertions(+), 375 deletions(-) diff --git a/installer/pom.xml b/installer/pom.xml index 29cfd4005e..d6068b3aea 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -1,375 +1,368 @@ - - 4.0.0 - - org.alfresco - full-community-packaging - 6.0.0-SNAPSHOT - ../pom.xml - - alfresco-content-services-community-full-installer - pom - Alfresco Content Services Community Full Installers - - - ${user.home}/binaries - ${project.build.directory}/installbuilder - alfresco-content-services-community-full - - project.version=${installer.version.name} - project.fullName='Alfresco Content Services Community' - project.windowsSigningPkcs12File=${signing.key.location} - project.windowsSigningPkcs12Password=${p12Password} - alfresco_edition=community - alfresco_package='${alfresco.package.name}' - project.outputDirectory=${project.build.directory} - - - - - - org.alfresco - alfresco-installer-resources - ${project.version} - - - org.alfresco - alfresco-content-services-community-full-distribution - ${project.version} - zip - - - org.alfresco - alfresco-solr1-distribution - zip - - - org.alfresco - alfresco-wcmqs-distribution - zip - - - org.alfresco - alfresco-wcmqs-web - classes - - - org.alfresco - alfresco-wcmqs-client-api - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - zip - - - org.alfresco.integrations - alfresco-googledocs-repo - amp - - - org.alfresco.integrations - alfresco-googledocs-share - amp - - - - - - - org.alfresco - installer-common - linux - tgz - - - - - org.apache.tomcat - tomcat - linux - tgz - - - org.apache.tomcat - tomcat - win64 - tgz - - - - - org.postgresql - postgresql-distribution - linux - tgz - - - org.postgresql - postgresql-distribution - win64 - tgz - - - - - com.oracle.java - jre - linux - tgz - - - com.oracle.java - jre - win64 - tgz - - - - - org.libreoffice - libreoffice-dist - linux - tgz - - - org.libreoffice - libreoffice-dist - windows - tgz - - - - - org.alfresco - alfresco-pdf-renderer - linux - tgz - - - org.alfresco - alfresco-pdf-renderer - win64 - tgz - - - - - org.imagemagick - imagemagick-distribution - linux - tgz - - - org.imagemagick - imagemagick-distribution - win64 - tgz - - - - - com.bitnami - installbuilder - linux - tgz - - - com.bitnami - installbuilder - win - tgz - - - - - org.alfresco - manager - linux - tgz - - - org.alfresco - manager - win64 - tgz - - - - - - - maven-dependency-plugin - - - - download-dependencies - - resolve - - - - get-distribution - prepare-package - - unpack - - - - - org.alfresco - alfresco-installer-resources - ${project.build.directory}/classes - - - org.alfresco - alfresco-content-services-community-full-distribution - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name} - - - - org.alfresco - alfresco-solr1-distribution - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr - - - - org.alfresco - alfresco-wcmqs-distribution - zip - ${project.build.directory}/wcmqs - - - - org.alfresco - alfresco-wcmqs-web - classes - ${project.build.directory}/wcmqs - alfresco/web-extension/** - - - - org.alfresco - alfresco-wcmqs-client-api - ${project.build.directory}/wcmqs - alfresco/extension/** - - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - zip - ${project.build.directory}/distribution/aos-module - - - - - - get-amps - prepare-package - - copy - - - - - org.alfresco.integrations - alfresco-googledocs-repo - amp - - - org.alfresco.integrations - alfresco-googledocs-share - amp - - - - - - - - - - maven-resources-plugin - - - override-local-resources - prepare-package - - resources - - - ${project.build.directory} - true - - properties - - - - - - - - maven-antrun-plugin - - - - extract-binaries-tgz - prepare-package - - run - - - - - - - - - - build-installers - package - - run - - - ${project.build.directory}/classes/bitrock - - - - - - - - - - - - - - win-bitrock - - - windows - - - - ${bitrock.folder}/bin/builder-cli.exe - - - - linux-bitrock - - - linux - - - - ${bitrock.folder}/bin/builder - - - - - + + 4.0.0 + + org.alfresco + full-community-packaging + 6.0.0-SNAPSHOT + ../pom.xml + + alfresco-content-services-community-full-installer + pom + Alfresco Content Services Community Full Installers + + + ${user.home}/binaries + ${project.build.directory}/installbuilder + alfresco-content-services-community-full + + project.version=${installer.version.name} project.fullName='Alfresco Content Services Community' project.windowsSigningPkcs12File=${signing.key.location} project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=community alfresco_package='${alfresco.package.name}' project.outputDirectory=${project.build.directory} + + + + + org.alfresco + alfresco-installer-resources + ${project.version} + + + org.alfresco + alfresco-content-services-community-full-distribution + ${project.version} + zip + + + org.alfresco + alfresco-solr1-distribution + zip + + + org.alfresco + alfresco-wcmqs-distribution + zip + + + org.alfresco + alfresco-wcmqs-web + classes + + + org.alfresco + alfresco-wcmqs-client-api + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + zip + + + org.alfresco.integrations + alfresco-googledocs-repo + amp + + + org.alfresco.integrations + alfresco-googledocs-share + amp + + + + + + + org.alfresco + installer-common + linux + tgz + + + + + org.apache.tomcat + tomcat + linux + tgz + + + org.apache.tomcat + tomcat + win64 + tgz + + + + + org.postgresql + postgresql-distribution + linux + tgz + + + org.postgresql + postgresql-distribution + win64 + tgz + + + + + com.oracle.java + jre + linux + tgz + + + com.oracle.java + jre + win64 + tgz + + + + + org.libreoffice + libreoffice-dist + linux + tgz + + + org.libreoffice + libreoffice-dist + windows + tgz + + + + + org.alfresco + alfresco-pdf-renderer + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + win64 + tgz + + + + + org.imagemagick + imagemagick-distribution + linux + tgz + + + org.imagemagick + imagemagick-distribution + win64 + tgz + + + + + com.bitnami + installbuilder + linux + tgz + + + com.bitnami + installbuilder + win + tgz + + + + + org.alfresco + manager + linux + tgz + + + org.alfresco + manager + win64 + tgz + + + + + + + maven-dependency-plugin + + + + download-dependencies + + resolve + + + + get-distribution + prepare-package + + unpack + + + + + org.alfresco + alfresco-installer-resources + ${project.build.directory}/classes + + + org.alfresco + alfresco-content-services-community-full-distribution + zip + ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name} + + + + org.alfresco + alfresco-solr1-distribution + zip + ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr + + + + org.alfresco + alfresco-wcmqs-distribution + zip + ${project.build.directory}/wcmqs + + + + org.alfresco + alfresco-wcmqs-web + classes + ${project.build.directory}/wcmqs + alfresco/web-extension/** + + + + org.alfresco + alfresco-wcmqs-client-api + ${project.build.directory}/wcmqs + alfresco/extension/** + + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + zip + ${project.build.directory}/distribution/aos-module + + + + + + get-amps + prepare-package + + copy + + + + + org.alfresco.integrations + alfresco-googledocs-repo + amp + + + org.alfresco.integrations + alfresco-googledocs-share + amp + + + + + + + + + + maven-resources-plugin + + + override-local-resources + prepare-package + + resources + + + ${project.build.directory} + true + + properties + + + + + + + + maven-antrun-plugin + + + + extract-binaries-tgz + prepare-package + + run + + + + + + + + + + build-installers + package + + run + + + ${project.build.directory}/classes/bitrock + + + + + + + + + + + + + + win-bitrock + + + windows + + + + ${bitrock.folder}/bin/builder-cli.exe + + + + linux-bitrock + + + linux + + + + ${bitrock.folder}/bin/builder + + + + + From fb4e984570a27e7dd15b4488c33ef9c1bd9f473e Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 13 Oct 2017 17:30:04 +0100 Subject: [PATCH 611/670] Apply git configs (line endings) --- .gitignore | 68 +- distribution/pom.xml | 236 +++---- .../src/assembly/full-distribution.xml | 124 ++-- distribution/src/main/resources/README.txt | 16 +- installer-resources/pom.xml | 30 +- .../resources/bitrock/alfresco-aos-module.xml | 126 ++-- .../resources/bitrock/alfresco-googledocs.xml | 78 +-- .../src/main/resources/extract-binaries.xml | 350 +++++----- pom.xml | 630 +++++++++--------- 9 files changed, 829 insertions(+), 829 deletions(-) diff --git a/.gitignore b/.gitignore index 5cd20fa5aa..9346843361 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,34 @@ -*.class - -# Eclipse -.classpath -.settings -.project - -# Intellij -.idea/ -*.iml -*.iws - -# Mac -.DS_Store - -# Maven -target -*.log -*.log.* - -# Mobile Tools for Java (J2ME) - -.mtj -.tmp/ - -# Package Files # - -*.jar -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml - -hs_err_pid* +*.class + +# Eclipse +.classpath +.settings +.project + +# Intellij +.idea/ +*.iml +*.iws + +# Mac +.DS_Store + +# Maven +target +*.log +*.log.* + +# Mobile Tools for Java (J2ME) + +.mtj +.tmp/ + +# Package Files # + +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml + +hs_err_pid* diff --git a/distribution/pom.xml b/distribution/pom.xml index f2f2c95a68..c625f4d723 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -1,118 +1,118 @@ - - 4.0.0 - - org.alfresco - full-community-packaging - 6.0.0-SNAPSHOT - ../pom.xml - - alfresco-content-services-community-full-distribution - pom - Alfresco Content Services Community Full Distribution - - - - 8080 - - - - - org.alfresco - alfresco-content-services-community-distribution - zip - - - * - * - - - - - org.alfresco - alfresco-solr4-distribution - zip - - - * - * - - - - - org.alfresco - alfresco-content-services-share-distribution - zip - - - * - * - - - - - - - ${project.artifactId}-${installer.version.name} - - - src/main/resources - true - - - - - maven-dependency-plugin - - - extract-keystore - generate-resources - - unpack - - - - - org.alfresco - alfresco-content-services-community-distribution - zip - - - org.alfresco - alfresco-solr4-distribution - zip - ${project.build.directory}/dependency/solr4 - - - org.alfresco - alfresco-content-services-share-distribution - zip - - - - - - - - - maven-assembly-plugin - - - make-assembly - package - - single - - - false - - src/assembly/full-distribution.xml - - - - - - - - - + + 4.0.0 + + org.alfresco + full-community-packaging + 6.0.0-SNAPSHOT + ../pom.xml + + alfresco-content-services-community-full-distribution + pom + Alfresco Content Services Community Full Distribution + + + + 8080 + + + + + org.alfresco + alfresco-content-services-community-distribution + zip + + + * + * + + + + + org.alfresco + alfresco-solr4-distribution + zip + + + * + * + + + + + org.alfresco + alfresco-content-services-share-distribution + zip + + + * + * + + + + + + + ${project.artifactId}-${installer.version.name} + + + src/main/resources + true + + + + + maven-dependency-plugin + + + extract-keystore + generate-resources + + unpack + + + + + org.alfresco + alfresco-content-services-community-distribution + zip + + + org.alfresco + alfresco-solr4-distribution + zip + ${project.build.directory}/dependency/solr4 + + + org.alfresco + alfresco-content-services-share-distribution + zip + + + + + + + + + maven-assembly-plugin + + + make-assembly + package + + single + + + false + + src/assembly/full-distribution.xml + + + + + + + + + diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index e7c2220e27..9f607449c5 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -1,62 +1,62 @@ - - distribution - - false - - - zip - - - - - - target/classes - - - - - - ${project.build.directory}/dependency/alfresco-content-services-community-distribution-${dependency.acs-community-packaging.version} - - - - - - ${project.build.directory}/dependency/alfresco-content-services-distribution-${dependency.acs-packaging.version} - - - - - - ${project.build.directory}/dependency/solr4 - solr4 - - solr4.war - - - - ${project.build.directory}/dependency/solr4 - web-server/webapps - - solr4.war - - - - - - ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version} - - - web-server/** - modules/** - amps/** - - - - ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples - web-server/shared/classes/alfresco/web-extension - - - - + + distribution + + false + + + zip + + + + + + target/classes + + + + + + ${project.build.directory}/dependency/alfresco-content-services-community-distribution-${dependency.acs-community-packaging.version} + + + + + + ${project.build.directory}/dependency/alfresco-content-services-distribution-${dependency.acs-packaging.version} + + + + + + ${project.build.directory}/dependency/solr4 + solr4 + + solr4.war + + + + ${project.build.directory}/dependency/solr4 + web-server/webapps + + solr4.war + + + + + + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version} + + + web-server/** + modules/** + amps/** + + + + ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples + web-server/shared/classes/alfresco/web-extension + + + + diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt index 63104fc294..7cd221d0dd 100644 --- a/distribution/src/main/resources/README.txt +++ b/distribution/src/main/resources/README.txt @@ -1,8 +1,8 @@ -Alfresco Community (Build: ${installer.version.name}) -=============================== - -Contains: - - Alfresco Content Services Community: ${dependency.acs-community-packaging.version} - - Alfresco Share: ${alfresco.share.version} - -For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm +Alfresco Community (Build: ${installer.version.name}) +=============================== + +Contains: + - Alfresco Content Services Community: ${dependency.acs-community-packaging.version} + - Alfresco Share: ${alfresco.share.version} + +For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index 18deeca383..551483055c 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -1,15 +1,15 @@ - - 4.0.0 - alfresco-installer-resources - jar - Alfresco Content Services Installer Resources - - - org.alfresco - full-community-packaging - 6.0.0-SNAPSHOT - ../pom.xml - - - + + 4.0.0 + alfresco-installer-resources + jar + Alfresco Content Services Installer Resources + + + org.alfresco + full-community-packaging + 6.0.0-SNAPSHOT + ../pom.xml + + + diff --git a/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml b/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml index 05e5410b93..28b1e1bca4 100644 --- a/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml +++ b/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml @@ -1,63 +1,63 @@ - - aosmodule - Alfresco Office Services - Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation. - 1 - 1 - 1 - - - - - - - - - - - - - - - - programfiles - Program Files - ${alfresco_amps_directory} - all - - - - - - - - - vtibinwarfile - //War Files - ${installdiralfresco} - - - - - - aosmodulecustomextensions - Program Files - ${alfresco_shared_directory}/alfresco/extension - all - - - - - - - - - aosmodulelicenses - //Alfresco Licenses - ${alfresco_base_application_directory}/licenses - - - - - - + + aosmodule + Alfresco Office Services + Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation. + 1 + 1 + 1 + + + + + + + + + + + + + + + + programfiles + Program Files + ${alfresco_amps_directory} + all + + + + + + + + + vtibinwarfile + //War Files + ${installdiralfresco} + + + + + + aosmodulecustomextensions + Program Files + ${alfresco_shared_directory}/alfresco/extension + all + + + + + + + + + aosmodulelicenses + //Alfresco Licenses + ${alfresco_base_application_directory}/licenses + + + + + + diff --git a/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml b/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml index 4287bcce09..7329d91857 100644 --- a/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml +++ b/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml @@ -1,40 +1,40 @@ - - alfrescogoogledocs - Google Docs Integration - Include Google Docs Integration Features. - 1 - 1 - 1 - - - - - - - - - Program Files - ${alfresco_amps_directory} - googledocs - all - - - - - - - - - Program Files - ${alfresco_amps_share_directory} - googledocsshare - all - - - - - - - - + + alfrescogoogledocs + Google Docs Integration + Include Google Docs Integration Features. + 1 + 1 + 1 + + + + + + + + + Program Files + ${alfresco_amps_directory} + googledocs + all + + + + + + + + + Program Files + ${alfresco_amps_share_directory} + googledocsshare + all + + + + + + + + \ No newline at end of file diff --git a/installer-resources/src/main/resources/extract-binaries.xml b/installer-resources/src/main/resources/extract-binaries.xml index 91467cddad..22eddb7f0c 100644 --- a/installer-resources/src/main/resources/extract-binaries.xml +++ b/installer-resources/src/main/resources/extract-binaries.xml @@ -1,175 +1,175 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracting binaries for @{targetPlatform} - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracting Common... - - - - - - Extracting Tomcat... - - - - - - - - Extracting Java... - - - - - - Extracting Manager... - - - - - - - - - - - - Extracting binaries for @{targetPlatform} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracting PostgreSQL... - - - - - - Extracting LibreOffice... - - - - - - Extracting ImageMagick... - - - - - - - Extracting Alfresco Pdf Renderer... - - - - - - - - - - Check running platform for Installbuilder... - - - - - - - - - - - - - - - - Extracting Installbuilder... - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + Extracting binaries for @{targetPlatform} + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extracting Common... + + + + + + Extracting Tomcat... + + + + + + + + Extracting Java... + + + + + + Extracting Manager... + + + + + + + + + + + + Extracting binaries for @{targetPlatform} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extracting PostgreSQL... + + + + + + Extracting LibreOffice... + + + + + + Extracting ImageMagick... + + + + + + + Extracting Alfresco Pdf Renderer... + + + + + + + + + + Check running platform for Installbuilder... + + + + + + + + + + + + + + + + Extracting Installbuilder... + + + + + + + + diff --git a/pom.xml b/pom.xml index fa3a6526b5..e7fdf31786 100644 --- a/pom.xml +++ b/pom.xml @@ -1,315 +1,315 @@ - - 4.0.0 - - org.alfresco - alfresco-super-pom - 6 - - full-community-packaging - 6.0.0-SNAPSHOT - pom - Alfresco Content Services Community Full Packaging - - - scm:git:https://git.alfresco.com/Repository/full-community-packaging.gitt - scm:git:https://git.alfresco.com/Repository/full-community-packaging.git - https://git.alfresco.com/Repository/full-community-packaging.git - HEAD - - - - - 6.0.b-SNAPSHOT - - - 5.2.2-SNAPSHOT - - - 3.0.4.2 - - - 1.1.7 - - 6.1 - 6.5 - - - 5.2-20170508 - 7.0.59-alfresco-distribution - 1.8.0_111 - 9.4.4-20151016 - 5.2.1-alfresco - 8.64 - 7.0.5 - 1.0 - 1.0 - - - ${maven.build.timestamp} - yyyyMMdd - - - 15.10.1 - - - - ${project.version}${alfresco.release.availability} - alfresco-community - ${alfresco.package.name}-distribution - - - - distribution - public-javadoc - installer-resources - installer - - - - - - - org.alfresco - acs-community-packaging - ${dependency.acs-community-packaging.version} - pom - import - - - org.alfresco - alfresco-content-services-community-distribution - ${dependency.acs-community-packaging.version} - zip - - - org.alfresco.aos-module - alfresco-aos-module - ${alfresco.aos-module.version} - amp - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - zip - - - org.alfresco.aos-module - alfresco-vti-bin - ${alfresco.aos-module.version} - war - - - org.alfresco - alfresco-content-services-share-distribution - ${alfresco.share.version} - zip - - - org.alfresco - alfresco-share-services - ${alfresco.share.version} - amp - - - org.alfresco - share - ${alfresco.share.version} - war - - - org.alfresco - alfresco-solr1-distribution - ${alfresco.solr.version} - zip - - - org.alfresco - alfresco-solr4-distribution - ${alfresco.solr4.version} - zip - - - org.alfresco - alfresco-wcmqs-distribution - ${alfresco.share.version} - zip - - - org.alfresco - alfresco-wcmqs-web - ${alfresco.share.version} - classes - - - org.alfresco - alfresco-wcmqs-client-api - ${alfresco.share.version} - - - org.alfresco.integrations - alfresco-googledocs-repo - ${alfresco.googledocs.version} - amp - - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - amp - - - - - org.alfresco - installer-common - ${installer.common.version} - linux - tgz - - - - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - linux - tgz - - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - win64 - tgz - - - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - linux - tgz - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - win64 - tgz - - - - - com.oracle.java - jre - ${installer.java.version} - linux - tgz - - - com.oracle.java - jre - ${installer.java.version} - win64 - tgz - - - - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - linux - tgz - - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - windows - tgz - - - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - linux - tgz - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - win64 - tgz - - - - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - linux - tgz - - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - win64 - tgz - - - - - com.bitnami - installbuilder - ${installer.installbuilder.version} - linux - tgz - - - com.bitnami - installbuilder - ${installer.installbuilder.version} - win - tgz - - - - - org.alfresco - manager - ${installer.manager.version} - linux - tgz - - - org.alfresco - manager - ${installer.manager.version} - win64 - tgz - - - - - - - alfresco-internal - https://artifacts.alfresco.com/nexus/content/repositories/enterprise-releases - - - alfresco-internal-snapshots - https://artifacts.alfresco.com/nexus/content/repositories/internal-snapshots - - - + + 4.0.0 + + org.alfresco + alfresco-super-pom + 6 + + full-community-packaging + 6.0.0-SNAPSHOT + pom + Alfresco Content Services Community Full Packaging + + + scm:git:https://git.alfresco.com/Repository/full-community-packaging.gitt + scm:git:https://git.alfresco.com/Repository/full-community-packaging.git + https://git.alfresco.com/Repository/full-community-packaging.git + HEAD + + + + + 6.0.b-SNAPSHOT + + + 5.2.2-SNAPSHOT + + + 3.0.4.2 + + + 1.1.7 + + 6.1 + 6.5 + + + 5.2-20170508 + 7.0.59-alfresco-distribution + 1.8.0_111 + 9.4.4-20151016 + 5.2.1-alfresco + 8.64 + 7.0.5 + 1.0 + 1.0 + + + ${maven.build.timestamp} + yyyyMMdd + + + 15.10.1 + + + + ${project.version}${alfresco.release.availability} + alfresco-community + ${alfresco.package.name}-distribution + + + + distribution + public-javadoc + installer-resources + installer + + + + + + + org.alfresco + acs-community-packaging + ${dependency.acs-community-packaging.version} + pom + import + + + org.alfresco + alfresco-content-services-community-distribution + ${dependency.acs-community-packaging.version} + zip + + + org.alfresco.aos-module + alfresco-aos-module + ${alfresco.aos-module.version} + amp + + + org.alfresco.aos-module + alfresco-aos-module-distributionzip + ${alfresco.aos-module.version} + zip + + + org.alfresco.aos-module + alfresco-vti-bin + ${alfresco.aos-module.version} + war + + + org.alfresco + alfresco-content-services-share-distribution + ${alfresco.share.version} + zip + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + + + org.alfresco + share + ${alfresco.share.version} + war + + + org.alfresco + alfresco-solr1-distribution + ${alfresco.solr.version} + zip + + + org.alfresco + alfresco-solr4-distribution + ${alfresco.solr4.version} + zip + + + org.alfresco + alfresco-wcmqs-distribution + ${alfresco.share.version} + zip + + + org.alfresco + alfresco-wcmqs-web + ${alfresco.share.version} + classes + + + org.alfresco + alfresco-wcmqs-client-api + ${alfresco.share.version} + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + amp + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + + + + + org.alfresco + installer-common + ${installer.common.version} + linux + tgz + + + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + linux + tgz + + + org.apache.tomcat + tomcat + ${installer.tomcat.version} + win64 + tgz + + + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + linux + tgz + + + org.postgresql + postgresql-distribution + ${installer.postgresql.version} + win64 + tgz + + + + + com.oracle.java + jre + ${installer.java.version} + linux + tgz + + + com.oracle.java + jre + ${installer.java.version} + win64 + tgz + + + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + linux + tgz + + + org.libreoffice + libreoffice-dist + ${installer.libreoffice.version} + windows + tgz + + + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + linux + tgz + + + org.alfresco + alfresco-pdf-renderer + ${installer.alfresco-pdf-renderer.version} + win64 + tgz + + + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + linux + tgz + + + org.imagemagick + imagemagick-distribution + ${installer.imagemagick.version} + win64 + tgz + + + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + linux + tgz + + + com.bitnami + installbuilder + ${installer.installbuilder.version} + win + tgz + + + + + org.alfresco + manager + ${installer.manager.version} + linux + tgz + + + org.alfresco + manager + ${installer.manager.version} + win64 + tgz + + + + + + + alfresco-internal + https://artifacts.alfresco.com/nexus/content/repositories/enterprise-releases + + + alfresco-internal-snapshots + https://artifacts.alfresco.com/nexus/content/repositories/internal-snapshots + + + From 8b696774076f45a3ebc3fb48a8b244f665630c3f Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 13 Oct 2017 17:38:33 +0100 Subject: [PATCH 612/670] Update to latest ACS community 6.0.0-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e7fdf31786..9811139998 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ - 6.0.b-SNAPSHOT + 6.0.0-SNAPSHOT 5.2.2-SNAPSHOT From 8e5cffa594d74170e3963712ff393d8b75eafc83 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 13 Oct 2017 17:38:43 +0100 Subject: [PATCH 613/670] REPO-2933 Change distribution packaging to be a jar The project's README.txt was not overlaying the existing file from acs-community-packaging. --- distribution/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index c625f4d723..b58e684d22 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -8,7 +8,7 @@ ../pom.xml alfresco-content-services-community-full-distribution - pom + jar Alfresco Content Services Community Full Distribution From fed53567c27a49c3f65361dff4eeb8d80dbecaa5 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 13 Oct 2017 17:54:57 +0100 Subject: [PATCH 614/670] Update Tomcat, Java, Postgres, installer The commit somehow slipped away from master/develop: https://git.alfresco.com/Repository/full-installer/commit/ec959133283c09682715aa124731254894e6293f --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 9811139998..71642c2bba 100644 --- a/pom.xml +++ b/pom.xml @@ -35,10 +35,10 @@ 6.5 - 5.2-20170508 - 7.0.59-alfresco-distribution - 1.8.0_111 - 9.4.4-20151016 + 5.2-20170616 + 7.0.78-alfresco-distribution-20170616 + 1.8.0_131 + 9.4.12 5.2.1-alfresco 8.64 7.0.5 From 8eaa944294cd79da8f245d6230f4e1526429ef93 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 16 Oct 2017 10:55:34 +0100 Subject: [PATCH 615/670] REPO-2886 Remove enterprise config from packaging --- distribution/src/assembly/full-distribution.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/distribution/src/assembly/full-distribution.xml b/distribution/src/assembly/full-distribution.xml index 9f607449c5..d07810582d 100644 --- a/distribution/src/assembly/full-distribution.xml +++ b/distribution/src/assembly/full-distribution.xml @@ -21,12 +21,6 @@ - - - ${project.build.directory}/dependency/alfresco-content-services-distribution-${dependency.acs-packaging.version} - - - ${project.build.directory}/dependency/solr4 From f40fb2ead2b1e6795aaf775e9151681135b9facc Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 16 Oct 2017 23:05:54 +0100 Subject: [PATCH 616/670] REPO-2882 Fix distribution management configuration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 71642c2bba..bc5ed7e708 100644 --- a/pom.xml +++ b/pom.xml @@ -305,11 +305,11 @@ alfresco-internal - https://artifacts.alfresco.com/nexus/content/repositories/enterprise-releases + https://artifacts.alfresco.com/nexus/content/repositories/releases alfresco-internal-snapshots - https://artifacts.alfresco.com/nexus/content/repositories/internal-snapshots + https://artifacts.alfresco.com/nexus/content/repositories/snapshots From 933c7c90ccf07322b965af1db0f7c9fe9495af88 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 17 Oct 2017 09:29:39 +0100 Subject: [PATCH 617/670] REPO-2882 Change distribution management to public releases --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bc5ed7e708..322d71febf 100644 --- a/pom.xml +++ b/pom.xml @@ -304,11 +304,11 @@ - alfresco-internal + alfresco-releases https://artifacts.alfresco.com/nexus/content/repositories/releases - alfresco-internal-snapshots + alfresco-snapshots https://artifacts.alfresco.com/nexus/content/repositories/snapshots From fd58d9b2b0640933d3806ff04287bda2cca3cb36 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 17 Oct 2017 12:45:42 +0100 Subject: [PATCH 618/670] REPO-2882 Remove unnecessary maven properties --- pom.xml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 322d71febf..46836b7742 100644 --- a/pom.xml +++ b/pom.xml @@ -45,19 +45,10 @@ 1.0 1.0 - - ${maven.build.timestamp} - yyyyMMdd - 15.10.1 - - - ${project.version}${alfresco.release.availability} + ${project.version} alfresco-community ${alfresco.package.name}-distribution From 078e9f485871711a2a66c984bd9625fba6563e76 Mon Sep 17 00:00:00 2001 From: Erik Knizat Date: Mon, 6 Nov 2017 16:41:40 +0000 Subject: [PATCH 619/670] MNT-18685: [Security] Multiple Tomcat 7.0.x vulnerabilities * Update Tomcat version to 7.0.82 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 46836b7742..f2d15d72f3 100644 --- a/pom.xml +++ b/pom.xml @@ -36,7 +36,7 @@ 5.2-20170616 - 7.0.78-alfresco-distribution-20170616 + 7.0.82-alfresco-distribution 1.8.0_131 9.4.12 5.2.1-alfresco From 717cc12f627dcb86c3f57995e00ab8d0014c8e77 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 8 Nov 2017 12:50:14 +0000 Subject: [PATCH 620/670] Search-558, updating pom to include the latest solr 4 release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 46836b7742..8b335f7ec0 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ 1.1.7 6.1 - 6.5 + 6.6 5.2-20170616 From b2bc3ce5007915af1ec2f4a331d9e43a08cc888e Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 10 Nov 2017 11:37:48 +0000 Subject: [PATCH 621/670] Pick up acs-community-packaging 6.0.0-ea --- pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 6dbd010fc3..16070d0d9c 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ - 6.0.0-SNAPSHOT + 6.0.0-ea 5.2.2-SNAPSHOT @@ -40,7 +40,6 @@ 1.8.0_131 9.4.12 5.2.1-alfresco - 8.64 7.0.5 1.0 1.0 From 3ee1cded565049e1a5e19a0d81765c980179b12d Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 10 Nov 2017 12:06:48 +0000 Subject: [PATCH 622/670] Change Share version to 5.2.f rather than 5.2.2-SNAPSHOT May need to be changed back to 5.2.2 which is 3 months newer after the community release. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 16070d0d9c..dd28cd287a 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ 6.0.0-ea - 5.2.2-SNAPSHOT + 5.2.f 3.0.4.2 From d0c4408e4ae1b015999fef3027c66acb6860f68a Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Fri, 10 Nov 2017 16:00:15 +0000 Subject: [PATCH 623/670] [maven-release-plugin] prepare release full-community-packaging-6.0.0-ea --- distribution/pom.xml | 5 ++--- installer-resources/pom.xml | 5 ++--- installer/pom.xml | 5 ++--- pom.xml | 7 +++---- public-javadoc/pom.xml | 2 +- 5 files changed, 10 insertions(+), 14 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index b58e684d22..55076ea0fd 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -1,10 +1,9 @@ - + 4.0.0 org.alfresco full-community-packaging - 6.0.0-SNAPSHOT + 6.0.0-ea ../pom.xml alfresco-content-services-community-full-distribution diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index 551483055c..aa33e80175 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -1,5 +1,4 @@ - + 4.0.0 alfresco-installer-resources jar @@ -8,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.0-SNAPSHOT + 6.0.0-ea ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index d6068b3aea..d8bb11fe63 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -1,10 +1,9 @@ - + 4.0.0 org.alfresco full-community-packaging - 6.0.0-SNAPSHOT + 6.0.0-ea ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index dd28cd287a..41f07121e8 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,4 @@ - + 4.0.0 org.alfresco @@ -7,7 +6,7 @@ 6 full-community-packaging - 6.0.0-SNAPSHOT + 6.0.0-ea pom Alfresco Content Services Community Full Packaging @@ -15,7 +14,7 @@ scm:git:https://git.alfresco.com/Repository/full-community-packaging.gitt scm:git:https://git.alfresco.com/Repository/full-community-packaging.git https://git.alfresco.com/Repository/full-community-packaging.git - HEAD + full-community-packaging-6.0.0-ea diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index a31e26161e..688fbcc423 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.0-SNAPSHOT + 6.0.0-ea ../pom.xml pom From ebbd8769998c314ac3130464b400673283420035 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Fri, 10 Nov 2017 16:00:17 +0000 Subject: [PATCH 624/670] [maven-release-plugin] prepare for next development iteration --- distribution/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 55076ea0fd..cfc08555e9 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.0-ea + 6.0.1-SNAPSHOT ../pom.xml alfresco-content-services-community-full-distribution diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index aa33e80175..7f2f74bc5d 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.0-ea + 6.0.1-SNAPSHOT ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index d8bb11fe63..ee3f0b55ff 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.0-ea + 6.0.1-SNAPSHOT ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index 41f07121e8..d9c3431e63 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.0-ea + 6.0.1-SNAPSHOT pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:https://git.alfresco.com/Repository/full-community-packaging.gitt scm:git:https://git.alfresco.com/Repository/full-community-packaging.git https://git.alfresco.com/Repository/full-community-packaging.git - full-community-packaging-6.0.0-ea + HEAD diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 688fbcc423..58960052f0 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.0-ea + 6.0.1-SNAPSHOT ../pom.xml pom From 645f0ce95792308f0766404179c1456817b4e36d Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 20 Nov 2017 14:18:19 +0000 Subject: [PATCH 625/670] REPO-3046 Add docker configuration for full stack --- docker-compose/alfresco/Dockerfile | 15 ++++ docker-compose/docker-compose.yml | 41 +++++++++ docker/Dockerfile | 13 +++ docker/pom.xml | 129 +++++++++++++++++++++++++++++ pom.xml | 1 + 5 files changed, 199 insertions(+) create mode 100644 docker-compose/alfresco/Dockerfile create mode 100644 docker-compose/docker-compose.yml create mode 100644 docker/Dockerfile create mode 100644 docker/pom.xml diff --git a/docker-compose/alfresco/Dockerfile b/docker-compose/alfresco/Dockerfile new file mode 100644 index 0000000000..14f79f93d3 --- /dev/null +++ b/docker-compose/alfresco/Dockerfile @@ -0,0 +1,15 @@ +FROM docker-internal.alfresco.com/full-content-services-community:latest + +RUN echo -e '\n\ +db.driver=org.postgresql.Driver\n\ +db.username=alfresco\n\ +db.password=alfresco\n\ +db.url=jdbc:postgresql://postgres:5432/alfresco\n\ +\n\ +solr.host=solr6\n\ +solr.port=8983\n\ +solr.secureComms=none\n\ +solr.base.url=/solr\n\ +index.subsystem.name=solr6\n\ +' >> /usr/local/tomcat/shared/classes/alfresco-global.properties + diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml new file mode 100644 index 0000000000..a02385298f --- /dev/null +++ b/docker-compose/docker-compose.yml @@ -0,0 +1,41 @@ +version: "3" + +services: + alfresco: + build: + context: ./alfresco + environment: + - db.driver=org.postgresql.Driver + - db.username=alfresco + - db.password=alfresco + - db.url=jdbc:postgresql://postgres:5432/alfresco + - solr.host=solr6 + - solr.port=8983 + - solr.secureComms=none + - solr.base.url=/solr + - index.subsystem.name=solr6 + ports: + - 8080:8080 #Browser port + + postgres: + image: docker.io/library/postgres:9.4.12 + environment: + - POSTGRES_PASSWORD=alfresco + - POSTGRES_USER=alfresco + - POSTGRES_DB=alfresco + ports: + - 5432:5432 + + solr6: + image: docker-internal.alfresco.com/search-services:1.1.0 + environment: + #Solr needs to know how to register itself with Alfresco + - SOLR_ALFRESCO_HOST=alfresco + - SOLR_ALFRESCO_PORT=8080 + #Alfresco needs to know how to call solr + - SOLR_SOLR_HOST=solr6 + - SOLR_SOLR_PORT=8983 + #Create the default alfresco and archive cores + - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive + ports: + - 8083:8983 #Browser port \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000000..2d3740c1a2 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,13 @@ +FROM docker-internal.alfresco.com/content-services-community:latest + +RUN mkdir -p /usr/local/tomcat/amps && \ + mkdir -p /usr/local/tomcat/amps_share + +COPY target/amps /usr/local/tomcat/amps +COPY target/amps_share /usr/local/tomcat/amps_share +COPY target/war /usr/local/tomcat/webapps + +RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ + /usr/local/tomcat/amps /usr/local/tomcat/webapps/alfresco -directory -nobackup -force && \ + java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ + /usr/local/tomcat/amps_share /usr/local/tomcat/webapps/share -directory -nobackup -force \ No newline at end of file diff --git a/docker/pom.xml b/docker/pom.xml new file mode 100644 index 0000000000..0c667e981d --- /dev/null +++ b/docker/pom.xml @@ -0,0 +1,129 @@ + + 4.0.0 + content-services-community-docker + ACS Community full Docker image builder + pom + + + org.alfresco + full-community-packaging + 6.0.1-SNAPSHOT + ../pom.xml + + + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + + + org.alfresco.aos-module + alfresco-aos-module + ${alfresco.aos-module.version} + amp + + + org.alfresco.aos-module + alfresco-vti-bin + ${alfresco.aos-module.version} + war + + + org.alfresco + share + ${alfresco.share.version} + war + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + amp + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.2 + + + unpack-resources + process-resources + + unpack + + + + + org.alfresco + share + ${alfresco.share.version} + war + false + ${project.build.directory}/war/share + share.war + + + + + + copy-resources + process-resources + + copy + + + + + org.alfresco + alfresco-share-services + ${alfresco.share.version} + amp + false + ${project.build.directory}/amps + + + org.alfresco.aos-module + alfresco-aos-module + ${alfresco.aos-module.version} + amp + false + ${project.build.directory}/amps + + + org.alfresco.integrations + alfresco-googledocs-repo + ${alfresco.googledocs.version} + amp + false + ${project.build.directory}/amps + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + false + ${project.build.directory}/amps_share + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index d9c3431e63..810d163236 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,7 @@ public-javadoc installer-resources installer + docker From faa4ad3c27bf55c0a1de65212ddd3fe761f754b4 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 20 Nov 2017 15:00:41 +0000 Subject: [PATCH 626/670] REPO-3046 Correct SS image version to 1.0.0 --- docker-compose/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index a02385298f..6b6a0e4abe 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -27,7 +27,7 @@ services: - 5432:5432 solr6: - image: docker-internal.alfresco.com/search-services:1.1.0 + image: docker-internal.alfresco.com/search-services:1.0.0 environment: #Solr needs to know how to register itself with Alfresco - SOLR_ALFRESCO_HOST=alfresco From 949a82128f76cfde7d6e295cf45f80564ac93ba7 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 20 Nov 2017 18:08:15 +0000 Subject: [PATCH 627/670] REPO-3046 Rename docker module id --- docker/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/pom.xml b/docker/pom.xml index 0c667e981d..c2a6358e35 100644 --- a/docker/pom.xml +++ b/docker/pom.xml @@ -1,6 +1,6 @@ 4.0.0 - content-services-community-docker + content-services-community-full-docker ACS Community full Docker image builder pom From 90779362d51121d6003467603126e10c07892640 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 21 Nov 2017 11:15:03 +0000 Subject: [PATCH 628/670] REPO-3046 Remove unnecessary config from compose file --- docker-compose/docker-compose.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 6b6a0e4abe..7990391a53 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -4,16 +4,6 @@ services: alfresco: build: context: ./alfresco - environment: - - db.driver=org.postgresql.Driver - - db.username=alfresco - - db.password=alfresco - - db.url=jdbc:postgresql://postgres:5432/alfresco - - solr.host=solr6 - - solr.port=8983 - - solr.secureComms=none - - solr.base.url=/solr - - index.subsystem.name=solr6 ports: - 8080:8080 #Browser port From 7876158636d3cd4fc1e6152025324a462c3b05cb Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 21 Nov 2017 17:29:19 +0000 Subject: [PATCH 629/670] REPO-3057 Update search services image --- docker-compose/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 7990391a53..2019ca7bf0 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -17,7 +17,7 @@ services: - 5432:5432 solr6: - image: docker-internal.alfresco.com/search-services:1.0.0 + image: quay.io/alfresco/search-services:1.2.0-SNAPSHOT environment: #Solr needs to know how to register itself with Alfresco - SOLR_ALFRESCO_HOST=alfresco From 87b02a4ef820800eefaead9b6dc179c6f5abf106 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Tue, 5 Dec 2017 16:32:09 +0000 Subject: [PATCH 630/670] Create LICENSE --- LICENSE | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..65c5ca88a6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. From dd2219738cf347fa5a40fd3d9e6a583434bf2d8f Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Wed, 6 Dec 2017 16:42:37 +0000 Subject: [PATCH 631/670] Update URLs in pom.xml --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 810d163236..205e2b077b 100644 --- a/pom.xml +++ b/pom.xml @@ -11,9 +11,9 @@ Alfresco Content Services Community Full Packaging - scm:git:https://git.alfresco.com/Repository/full-community-packaging.gitt - scm:git:https://git.alfresco.com/Repository/full-community-packaging.git - https://git.alfresco.com/Repository/full-community-packaging.git + scm:git:git@github.com:Alfresco/acs-community-full-packaging.git + scm:git:git@github.com:Alfresco/acs-community-full-packaging.git + https://github.com/Alfresco/acs-community-full-packaging HEAD From efa02819d9a04738cae0e431100cd5ff47029081 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Fri, 8 Dec 2017 15:00:24 +0000 Subject: [PATCH 632/670] REPO-3061 Make Alfresco image tag configurable in docker compose --- docker-compose/.env | 1 + docker-compose/alfresco/Dockerfile | 15 ------- docker-compose/docker-compose.yml | 63 ++++++++++++++++++------------ 3 files changed, 38 insertions(+), 41 deletions(-) create mode 100644 docker-compose/.env delete mode 100644 docker-compose/alfresco/Dockerfile diff --git a/docker-compose/.env b/docker-compose/.env new file mode 100644 index 0000000000..876489c85b --- /dev/null +++ b/docker-compose/.env @@ -0,0 +1 @@ +ALFRESCO_TAG=latest diff --git a/docker-compose/alfresco/Dockerfile b/docker-compose/alfresco/Dockerfile deleted file mode 100644 index 14f79f93d3..0000000000 --- a/docker-compose/alfresco/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM docker-internal.alfresco.com/full-content-services-community:latest - -RUN echo -e '\n\ -db.driver=org.postgresql.Driver\n\ -db.username=alfresco\n\ -db.password=alfresco\n\ -db.url=jdbc:postgresql://postgres:5432/alfresco\n\ -\n\ -solr.host=solr6\n\ -solr.port=8983\n\ -solr.secureComms=none\n\ -solr.base.url=/solr\n\ -index.subsystem.name=solr6\n\ -' >> /usr/local/tomcat/shared/classes/alfresco-global.properties - diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 2019ca7bf0..8cf46aeebe 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,31 +1,42 @@ version: "3" services: - alfresco: - build: - context: ./alfresco - ports: - - 8080:8080 #Browser port + alfresco: + image: docker-internal.alfresco.com/full-content-services-community:${ALFRESCO_TAG} + environment: + JAVA_OPTS : " + -Ddb.driver=org.postgresql.Driver + -Ddb.username=alfresco + -Ddb.password=alfresco + -Ddb.url=jdbc:postgresql://postgres:5432/alfresco + -Dsolr.host=solr6 + -Dsolr.port=8983 + -Dsolr.secureComms=none + -Dsolr.base.url=/solr + -Dindex.subsystem.name=solr6 + " + ports: + - 8080:8080 #Browser port - postgres: - image: docker.io/library/postgres:9.4.12 - environment: - - POSTGRES_PASSWORD=alfresco - - POSTGRES_USER=alfresco - - POSTGRES_DB=alfresco - ports: - - 5432:5432 + postgres: + image: docker.io/library/postgres:9.4.12 + environment: + - POSTGRES_PASSWORD=alfresco + - POSTGRES_USER=alfresco + - POSTGRES_DB=alfresco + ports: + - 5432:5432 - solr6: - image: quay.io/alfresco/search-services:1.2.0-SNAPSHOT - environment: - #Solr needs to know how to register itself with Alfresco - - SOLR_ALFRESCO_HOST=alfresco - - SOLR_ALFRESCO_PORT=8080 - #Alfresco needs to know how to call solr - - SOLR_SOLR_HOST=solr6 - - SOLR_SOLR_PORT=8983 - #Create the default alfresco and archive cores - - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive - ports: - - 8083:8983 #Browser port \ No newline at end of file + solr6: + image: quay.io/alfresco/search-services:1.2.0-SNAPSHOT + environment: + #Solr needs to know how to register itself with Alfresco + - SOLR_ALFRESCO_HOST=alfresco + - SOLR_ALFRESCO_PORT=8080 + #Alfresco needs to know how to call solr + - SOLR_SOLR_HOST=solr6 + - SOLR_SOLR_PORT=8983 + #Create the default alfresco and archive cores + - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive + ports: + - 8083:8983 #Browser port From 336a20ff7ae571feee3be78fb8bc371068ceb557 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 09:56:48 +0200 Subject: [PATCH 633/670] REPO-3061: REPO-3091: Use the separate Share image in docker-compose --- docker-alfresco/Dockerfile | 8 ++++ {docker => docker-alfresco}/pom.xml | 44 +------------------ docker-compose/.env | 1 + docker-compose/docker-compose.yml | 5 +++ docker-share/Dockerfile | 11 +++++ docker-share/pom.xml | 68 +++++++++++++++++++++++++++++ docker/Dockerfile | 13 ------ pom.xml | 4 +- 8 files changed, 98 insertions(+), 56 deletions(-) create mode 100644 docker-alfresco/Dockerfile rename {docker => docker-alfresco}/pom.xml (64%) create mode 100644 docker-share/Dockerfile create mode 100644 docker-share/pom.xml delete mode 100644 docker/Dockerfile diff --git a/docker-alfresco/Dockerfile b/docker-alfresco/Dockerfile new file mode 100644 index 0000000000..96fe087989 --- /dev/null +++ b/docker-alfresco/Dockerfile @@ -0,0 +1,8 @@ +FROM docker-internal.alfresco.com/content-services-community:latest + +RUN mkdir -p /usr/local/tomcat/amps + +COPY target/amps /usr/local/tomcat/amps + +RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ + /usr/local/tomcat/amps /usr/local/tomcat/webapps/alfresco -directory -nobackup -force \ No newline at end of file diff --git a/docker/pom.xml b/docker-alfresco/pom.xml similarity index 64% rename from docker/pom.xml rename to docker-alfresco/pom.xml index c2a6358e35..2fa816a151 100644 --- a/docker/pom.xml +++ b/docker-alfresco/pom.xml @@ -1,7 +1,7 @@ 4.0.0 - content-services-community-full-docker - ACS Community full Docker image builder + content-services-community-full-docker-alfresco + ACS Community full Docker image builder for Alfresco pom @@ -30,24 +30,12 @@ ${alfresco.aos-module.version} war - - org.alfresco - share - ${alfresco.share.version} - war - org.alfresco.integrations alfresco-googledocs-repo ${alfresco.googledocs.version} amp - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - amp - @@ -57,26 +45,6 @@ maven-dependency-plugin 3.0.2 - - unpack-resources - process-resources - - unpack - - - - - org.alfresco - share - ${alfresco.share.version} - war - false - ${project.build.directory}/war/share - share.war - - - - copy-resources process-resources @@ -109,14 +77,6 @@ false ${project.build.directory}/amps - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - amp - false - ${project.build.directory}/amps_share - diff --git a/docker-compose/.env b/docker-compose/.env index 876489c85b..928384fa73 100644 --- a/docker-compose/.env +++ b/docker-compose/.env @@ -1 +1,2 @@ ALFRESCO_TAG=latest +SHARE_TAG=5.2.X diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 8cf46aeebe..7d61998f55 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -18,6 +18,11 @@ services: ports: - 8080:8080 #Browser port + share: + image: full-share:${SHARE_TAG} + ports: + - 8082:8080 + postgres: image: docker.io/library/postgres:9.4.12 environment: diff --git a/docker-share/Dockerfile b/docker-share/Dockerfile new file mode 100644 index 0000000000..1389baf1dd --- /dev/null +++ b/docker-share/Dockerfile @@ -0,0 +1,11 @@ +FROM quay.io/alfresco/share:5.2.X + +RUN mkdir -p /usr/local/tomcat/amps_share + +COPY target/alfresco-mmt/* /usr/local/tomcat/alfresco-mmt/ +COPY target/amps_share /usr/local/tomcat/amps_share + +RUN sed -i "s/localhost:8080/alfresco:8080/" /usr/local/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml + +RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ + /usr/local/tomcat/amps_share /usr/local/tomcat/webapps/share -directory -nobackup -force \ No newline at end of file diff --git a/docker-share/pom.xml b/docker-share/pom.xml new file mode 100644 index 0000000000..4dd5fd414f --- /dev/null +++ b/docker-share/pom.xml @@ -0,0 +1,68 @@ + + 4.0.0 + content-services-community-full-docker-share + ACS Community full Docker image builder for Share + pom + + + org.alfresco + full-community-packaging + 6.0.1-SNAPSHOT + ../pom.xml + + + + + org.alfresco + alfresco-mmt + ${dependency.alfresco-mmt.version} + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.2 + + + copy-resources + process-resources + + copy + + + + + org.alfresco + alfresco-mmt + ${dependency.alfresco-mmt.version} + jar + false + ${project.build.directory}/alfresco-mmt + + + org.alfresco.integrations + alfresco-googledocs-share + ${alfresco.googledocs.version} + amp + false + ${project.build.directory}/amps_share + + + + + + + + + + + \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index 2d3740c1a2..0000000000 --- a/docker/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM docker-internal.alfresco.com/content-services-community:latest - -RUN mkdir -p /usr/local/tomcat/amps && \ - mkdir -p /usr/local/tomcat/amps_share - -COPY target/amps /usr/local/tomcat/amps -COPY target/amps_share /usr/local/tomcat/amps_share -COPY target/war /usr/local/tomcat/webapps - -RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ - /usr/local/tomcat/amps /usr/local/tomcat/webapps/alfresco -directory -nobackup -force && \ - java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ - /usr/local/tomcat/amps_share /usr/local/tomcat/webapps/share -directory -nobackup -force \ No newline at end of file diff --git a/pom.xml b/pom.xml index 205e2b077b..5737bdc9c0 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,7 @@ 7.0.5 1.0 1.0 + 6.0 15.10.1 @@ -56,7 +57,8 @@ public-javadoc installer-resources installer - docker + docker-alfresco + docker-share From 9ee17450619b1720dc2408510391baafe6b7d6ad Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 11:09:04 +0200 Subject: [PATCH 634/670] REPO-3061: add missing quay.io path to full-share image --- docker-compose/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 7d61998f55..bb937aa89e 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -19,7 +19,7 @@ services: - 8080:8080 #Browser port share: - image: full-share:${SHARE_TAG} + image: quay.io/alfresco/full-share:${SHARE_TAG} ports: - 8082:8080 From 5820c743170c65d536aa82e99631774acb6ab846 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 12:44:46 +0200 Subject: [PATCH 635/670] REPO-3061: use 8080 for share and 8082 for alfresco in order to make testing the trial simpler for users --- docker-compose/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index bb937aa89e..32fe22fccb 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -16,12 +16,12 @@ services: -Dindex.subsystem.name=solr6 " ports: - - 8080:8080 #Browser port + - 8082:8080 #Browser port share: image: quay.io/alfresco/full-share:${SHARE_TAG} ports: - - 8082:8080 + - 8080:8080 postgres: image: docker.io/library/postgres:9.4.12 From 9c5c14bc93b97d8a26256ba74d3aa8040b669f81 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 12:45:11 +0200 Subject: [PATCH 636/670] REPO-3061: REPO-3100: Update README.MD in the full-community-packaging project --- README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000000..97ce804110 --- /dev/null +++ b/README.md @@ -0,0 +1,60 @@ +# Full Community Packaging for Alfreco Content Services + +This project contains the code for packaging the entire Alfresco Content Services product Community edition. + +## General +### Build: +* ```mvn clean install``` in the root of the project will build everything. +Note: It is not easy to build the full installer locally (and impossible on Windows) so, most likely you don't want to create the installer locally. Comment out the installer in the root pom.xml in order to avoid building the installer locally. + +## Docker-compose +Build and start Alfresco Content Services Community using docker-compose, containing: +1. Alfresco Repository for community, with: +1.1. Alfresco Share Services amp +1.2. Alfresco AOS amp +1.3. Alfresco vti-bin war - that helps with AOS integration +1.4. Alfresco Google Docs Repo amp +2. Share, with: +2.1 Alfresco Google Docks Share amp +3. A Postgres DB +4. Solr6 + +### Instructions: +#### Prerequisite: +* Docker installed locally +* Access to docker-internal.alfresco.com and quiy.io repositories - Platform Services team is working on getting the images in dockerhub registry. + +#### Steps +1. Go to **docker-compose** folder +2. Run ```docker-compose up``` +3. Check that everything starts up with the browser: http://localhost:8082/alfresco and http://localhost:8080/share and http://localhost:8083/solr/ + +#### Notes: +* Make sure the local machine has the ports (5432, 8080, 8082, 8083) set up in the docker-compose.yml file free. +* The images used in the docker-compose.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below +* If you don't have access to the docker-internal.alfresco.com and quay.io images , or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you use proper tags when you create the images and update the docker-compose.yml with these proper tags that you created. + +## Docker images +These images are used to build the images used by the docker-compose.yml project to bring up an ACS Community, similar to what the installer did/does. +The images are based on *pure* _content services_ and _share_ images done by the _acs-packaging_ and _share_ projects and adds the amps and settings necessary for running the images in a similar fashion to what the ACS deployment with the installer did/does. + +### Docker Alfresco +1. Go to docker-alfreco folder +2. Run *mvn clean install* if you have not done so +3. Build the docker image: ```docker build . --tag my-acs-repo:6.0.test``` +4. Check that the image has been created locally with your desired name/tag: ```docker images``` + +### Docker Share +1. Go to docker-share folder +2. Run *mvn clean install* if you have not done so +3. Build the docker image: ```docker build . --tag my-share:5.2.test``` +4. Check that the image has been created locally with your desired name/tag: ```docker images``` + + +## Distribution zip + +In this folder the distribution zip is build. It contains all the war files, libraries, certificates and settings files you need to deploy alfresco on the supported application servers. + +## Installer + +In this folder the installer binaries are built for all the supported platforms. From b4127758acb3e300c6c68693f070d94075a38038 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 12:48:34 +0200 Subject: [PATCH 637/670] REPO-3100: try to improve the formatting --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 97ce804110..3ab70fc0ef 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,15 @@ Note: It is not easy to build the full installer locally (and impossible on Wind ## Docker-compose Build and start Alfresco Content Services Community using docker-compose, containing: -1. Alfresco Repository for community, with: -1.1. Alfresco Share Services amp -1.2. Alfresco AOS amp -1.3. Alfresco vti-bin war - that helps with AOS integration -1.4. Alfresco Google Docs Repo amp -2. Share, with: -2.1 Alfresco Google Docks Share amp -3. A Postgres DB -4. Solr6 +1. Alfresco Repository for community, with: +1.1. Alfresco Share Services amp +1.2. Alfresco AOS amp +1.3. Alfresco vti-bin war - that helps with AOS integration +1.4. Alfresco Google Docs Repo amp +2. Share, with: +2.1 Alfresco Google Docks Share amp +3. A Postgres DB +4. Solr6 ### Instructions: #### Prerequisite: From 95e3811e101fbd693f1ba6b092559c0f3de3d3a5 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 12:52:22 +0200 Subject: [PATCH 638/670] REPO-3061: fix the 8082 port for alfresco in the share-custom-config.xml file also --- docker-share/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-share/Dockerfile b/docker-share/Dockerfile index 1389baf1dd..3905a10c3a 100644 --- a/docker-share/Dockerfile +++ b/docker-share/Dockerfile @@ -5,7 +5,7 @@ RUN mkdir -p /usr/local/tomcat/amps_share COPY target/alfresco-mmt/* /usr/local/tomcat/alfresco-mmt/ COPY target/amps_share /usr/local/tomcat/amps_share -RUN sed -i "s/localhost:8080/alfresco:8080/" /usr/local/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml +RUN sed -i "s/localhost:8080/alfresco:8082/" /usr/local/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ /usr/local/tomcat/amps_share /usr/local/tomcat/webapps/share -directory -nobackup -force \ No newline at end of file From ae65bc903cc879fa5beabad6e2f6f97f167e04ab Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 11 Dec 2017 10:58:34 +0000 Subject: [PATCH 639/670] Minor updates to README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3ab70fc0ef..545ba6e855 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Full Community Packaging for Alfreco Content Services +# Full Community Packaging for Alfresco Content Services This project contains the code for packaging the entire Alfresco Content Services product Community edition. @@ -14,15 +14,15 @@ Build and start Alfresco Content Services Community using docker-compose, contai 1.2. Alfresco AOS amp 1.3. Alfresco vti-bin war - that helps with AOS integration 1.4. Alfresco Google Docs Repo amp -2. Share, with: +2. Alfresco Share, with: 2.1 Alfresco Google Docks Share amp 3. A Postgres DB -4. Solr6 +4. Alfresco Solr6 ### Instructions: #### Prerequisite: * Docker installed locally -* Access to docker-internal.alfresco.com and quiy.io repositories - Platform Services team is working on getting the images in dockerhub registry. +* Access to docker-internal.alfresco.com and quay.io repositories - Platform Services team is working on getting the images in [Docker Hub](https://hub.docker.com/u/alfresco/) registry. #### Steps 1. Go to **docker-compose** folder @@ -32,7 +32,7 @@ Build and start Alfresco Content Services Community using docker-compose, contai #### Notes: * Make sure the local machine has the ports (5432, 8080, 8082, 8083) set up in the docker-compose.yml file free. * The images used in the docker-compose.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below -* If you don't have access to the docker-internal.alfresco.com and quay.io images , or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you use proper tags when you create the images and update the docker-compose.yml with these proper tags that you created. +* If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you use proper tags when you create the images and update the docker-compose.yml with these proper tags that you created. ## Docker images These images are used to build the images used by the docker-compose.yml project to bring up an ACS Community, similar to what the installer did/does. From 297cd15fee926200aba1064201a06d3a30bba046 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 13:28:43 +0200 Subject: [PATCH 640/670] REPO-3091: use alfresco-share and alfresco-full-share names for artifacts so it complies with the guidelines https://github.com/Alfresco/alfresco-anaxes-shipyard/tree/master/docs/guidelines#naming --- docker-compose/docker-compose.yml | 2 +- docker-share/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 32fe22fccb..636dfe87da 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -19,7 +19,7 @@ services: - 8082:8080 #Browser port share: - image: quay.io/alfresco/full-share:${SHARE_TAG} + image: quay.io/alfresco/alfresco-full-share:${SHARE_TAG} ports: - 8080:8080 diff --git a/docker-share/Dockerfile b/docker-share/Dockerfile index 3905a10c3a..a7cd79f579 100644 --- a/docker-share/Dockerfile +++ b/docker-share/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/alfresco/share:5.2.X +FROM quay.io/alfresco/alfresco-share:5.2.X RUN mkdir -p /usr/local/tomcat/amps_share From cb7d2d31fa062c17c17c495c1dd518fb31ac765a Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Mon, 11 Dec 2017 14:40:58 +0200 Subject: [PATCH 641/670] REPO-3061: use alfresco:8080 port in the share-custom-config.xml --- docker-share/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-share/Dockerfile b/docker-share/Dockerfile index a7cd79f579..758ddf8412 100644 --- a/docker-share/Dockerfile +++ b/docker-share/Dockerfile @@ -5,7 +5,7 @@ RUN mkdir -p /usr/local/tomcat/amps_share COPY target/alfresco-mmt/* /usr/local/tomcat/alfresco-mmt/ COPY target/amps_share /usr/local/tomcat/amps_share -RUN sed -i "s/localhost:8080/alfresco:8082/" /usr/local/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml +RUN sed -i "s/localhost:8080/alfresco:8080/" /usr/local/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ /usr/local/tomcat/amps_share /usr/local/tomcat/webapps/share -directory -nobackup -force \ No newline at end of file From 5feedeca6f1c75b047b72802972201d87e8c66ba Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 11 Dec 2017 16:21:26 +0000 Subject: [PATCH 642/670] REPO-3061 Move images to quay.io --- docker-alfresco/Dockerfile | 4 ++-- docker-compose/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-alfresco/Dockerfile b/docker-alfresco/Dockerfile index 96fe087989..79455806a9 100644 --- a/docker-alfresco/Dockerfile +++ b/docker-alfresco/Dockerfile @@ -1,8 +1,8 @@ -FROM docker-internal.alfresco.com/content-services-community:latest +FROM quay.io/alfresco/alfresco-content-services-community:latest RUN mkdir -p /usr/local/tomcat/amps COPY target/amps /usr/local/tomcat/amps RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ - /usr/local/tomcat/amps /usr/local/tomcat/webapps/alfresco -directory -nobackup -force \ No newline at end of file + /usr/local/tomcat/amps /usr/local/tomcat/webapps/alfresco -directory -nobackup -force diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 636dfe87da..7c0374645d 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: alfresco: - image: docker-internal.alfresco.com/full-content-services-community:${ALFRESCO_TAG} + image: quay.io/alfresco/alfresco-full-content-services-community:${ALFRESCO_TAG} environment: JAVA_OPTS : " -Ddb.driver=org.postgresql.Driver From fbda7270350c95fdf98b6de6336ba9db7b6ca659 Mon Sep 17 00:00:00 2001 From: Alex Mukha Date: Mon, 11 Dec 2017 16:57:45 +0000 Subject: [PATCH 643/670] Add contribution guide --- CONTRIBUTING.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..8d059e27ca --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,16 @@ +### Contributing +Thanks for your interest in contributing to this project! + +The following is a set of guidelines for contributing to this library. Most of them will make the life of the reviewer easier and therefore decrease the time required for the patch be included in the next version. + +Because this project forms a part of Alfresco Content Services, the guidelines are hosted in the [Alfresco Social Community](http://community.alfresco.com/community/ecm) where they can be referenced from multiple projects. + +Read an [overview on how this project is goverened](https://community.alfresco.com/docs/DOC-6385-project-overview-repository). + +You can report an issue in the ALF project of the [Alfresco issue tracker](http://issues.alfresco.com). + +Read [instructions for a good issue report](https://community.alfresco.com/docs/DOC-6263-reporting-an-issue). + +Read [instructions for making a contribution](https://community.alfresco.com/docs/DOC-6269-submitting-contributions). + +Please follow [the coding standards](https://community.alfresco.com/docs/DOC-4658-coding-standards). From 346b626ca1347c9c8e554d9d3444c8db347344e9 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Fri, 15 Dec 2017 17:54:33 +0200 Subject: [PATCH 644/670] REPO-3061: use environment variable to configure Share --- docker-compose/docker-compose.yml | 3 +++ docker-share/Dockerfile | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 7c0374645d..30e6bbe00a 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -20,6 +20,9 @@ services: share: image: quay.io/alfresco/alfresco-full-share:${SHARE_TAG} + environment: + - REPO_HOST=alfresco + - REPO_PORT=8080 ports: - 8080:8080 diff --git a/docker-share/Dockerfile b/docker-share/Dockerfile index 758ddf8412..6fff3d816d 100644 --- a/docker-share/Dockerfile +++ b/docker-share/Dockerfile @@ -5,7 +5,5 @@ RUN mkdir -p /usr/local/tomcat/amps_share COPY target/alfresco-mmt/* /usr/local/tomcat/alfresco-mmt/ COPY target/amps_share /usr/local/tomcat/amps_share -RUN sed -i "s/localhost:8080/alfresco:8080/" /usr/local/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml - RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ /usr/local/tomcat/amps_share /usr/local/tomcat/webapps/share -directory -nobackup -force \ No newline at end of file From 5b4e8ef554afaff12e22b979f5222a23729e0ff3 Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Fri, 15 Dec 2017 18:15:54 +0200 Subject: [PATCH 645/670] DEPLOY-276: ACS helm chart for community --- README.md | 22 +++++- helm/alfresco-content-services/.helmignore | 21 ++++++ helm/alfresco-content-services/Chart.yaml | 13 ++++ .../charts/nginx-ingress-0.8.18.tgz | Bin 0 -> 9411 bytes .../charts/postgresql-0.8.5.tgz | Bin 0 -> 6803 bytes .../requirements.lock | 9 +++ .../requirements.yaml | 8 +++ .../templates/NOTES.txt | 8 +++ .../templates/_helpers.tpl | 8 +++ .../templates/config-repository.yaml | 20 ++++++ .../templates/config-share.yaml | 11 +++ .../templates/config-solr.yaml | 18 +++++ .../templates/deployment-repository.yaml | 32 +++++++++ .../templates/deployment-share.yaml | 28 ++++++++ .../templates/deployment-solr.yaml | 28 ++++++++ .../templates/ingress-repository.yaml | 15 ++++ .../templates/ingress-share.yaml | 15 ++++ .../templates/ingress-solr.yaml | 15 ++++ .../templates/svc-repository.yaml | 18 +++++ .../templates/svc-share.yaml | 18 +++++ .../templates/svc-solr.yaml | 18 +++++ helm/alfresco-content-services/values.yaml | 64 ++++++++++++++++++ 22 files changed, 386 insertions(+), 3 deletions(-) create mode 100644 helm/alfresco-content-services/.helmignore create mode 100644 helm/alfresco-content-services/Chart.yaml create mode 100644 helm/alfresco-content-services/charts/nginx-ingress-0.8.18.tgz create mode 100644 helm/alfresco-content-services/charts/postgresql-0.8.5.tgz create mode 100644 helm/alfresco-content-services/requirements.lock create mode 100644 helm/alfresco-content-services/requirements.yaml create mode 100644 helm/alfresco-content-services/templates/NOTES.txt create mode 100644 helm/alfresco-content-services/templates/_helpers.tpl create mode 100644 helm/alfresco-content-services/templates/config-repository.yaml create mode 100644 helm/alfresco-content-services/templates/config-share.yaml create mode 100644 helm/alfresco-content-services/templates/config-solr.yaml create mode 100644 helm/alfresco-content-services/templates/deployment-repository.yaml create mode 100644 helm/alfresco-content-services/templates/deployment-share.yaml create mode 100644 helm/alfresco-content-services/templates/deployment-solr.yaml create mode 100644 helm/alfresco-content-services/templates/ingress-repository.yaml create mode 100644 helm/alfresco-content-services/templates/ingress-share.yaml create mode 100644 helm/alfresco-content-services/templates/ingress-solr.yaml create mode 100644 helm/alfresco-content-services/templates/svc-repository.yaml create mode 100644 helm/alfresco-content-services/templates/svc-share.yaml create mode 100644 helm/alfresco-content-services/templates/svc-solr.yaml create mode 100644 helm/alfresco-content-services/values.yaml diff --git a/README.md b/README.md index 545ba6e855..de6394ef4a 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This project contains the code for packaging the entire Alfresco Content Service * ```mvn clean install``` in the root of the project will build everything. Note: It is not easy to build the full installer locally (and impossible on Windows) so, most likely you don't want to create the installer locally. Comment out the installer in the root pom.xml in order to avoid building the installer locally. -## Docker-compose -Build and start Alfresco Content Services Community using docker-compose, containing: +## Docker-compose & Kubernetes +Build and start Alfresco Content Services Community using docker-compose or Kubernetes, containing: 1. Alfresco Repository for community, with: 1.1. Alfresco Share Services amp 1.2. Alfresco AOS amp @@ -19,7 +19,7 @@ Build and start Alfresco Content Services Community using docker-compose, contai 3. A Postgres DB 4. Alfresco Solr6 -### Instructions: +### Docker Compose Instructions: #### Prerequisite: * Docker installed locally * Access to docker-internal.alfresco.com and quay.io repositories - Platform Services team is working on getting the images in [Docker Hub](https://hub.docker.com/u/alfresco/) registry. @@ -34,6 +34,22 @@ Build and start Alfresco Content Services Community using docker-compose, contai * The images used in the docker-compose.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below * If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you use proper tags when you create the images and update the docker-compose.yml with these proper tags that you created. +### Kubernetes Instructions: +#### Prerequisite: +* A minikube k8s cluster up and ready +* Access to docker-internal.alfresco.com and quay.io repositories - Platform Services team is working on getting the images in [Docker Hub](https://hub.docker.com/u/alfresco/) registry. + +#### Steps +1. Go to **helm** folder +2. Run ```helm install alfresco-content-services``` +3. After deploying the helm chart you will get information for obtaining the URL for alfresco, share and solr. + +#### Notes: + +* The images used in the docker-compose.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below +* If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you use proper tags when you create the images and update the docker-compose.yml with these proper tags that you created. + + ## Docker images These images are used to build the images used by the docker-compose.yml project to bring up an ACS Community, similar to what the installer did/does. The images are based on *pure* _content services_ and _share_ images done by the _acs-packaging_ and _share_ projects and adds the amps and settings necessary for running the images in a similar fashion to what the ACS deployment with the installer did/does. diff --git a/helm/alfresco-content-services/.helmignore b/helm/alfresco-content-services/.helmignore new file mode 100644 index 0000000000..f0c1319444 --- /dev/null +++ b/helm/alfresco-content-services/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/helm/alfresco-content-services/Chart.yaml b/helm/alfresco-content-services/Chart.yaml new file mode 100644 index 0000000000..9091863fda --- /dev/null +++ b/helm/alfresco-content-services/Chart.yaml @@ -0,0 +1,13 @@ +name: alfresco-content-services +version: 0.0.1 +description: A Helm chart for deploying Alfresco Content Services +keywords: +- content +- content services +- alfresco +- community +- alfresco community +home: https://www.alfresco.com +sources: +- https://github.com/Alfresco/acs-community-full-packaging/tree/master/helm +icon: https://avatars0.githubusercontent.com/u/391127?s=200&v=4 \ No newline at end of file diff --git a/helm/alfresco-content-services/charts/nginx-ingress-0.8.18.tgz b/helm/alfresco-content-services/charts/nginx-ingress-0.8.18.tgz new file mode 100644 index 0000000000000000000000000000000000000000..03b8a5398a8de8389b212631acb4d48091f45e13 GIT binary patch literal 9411 zcmV;!Bs|+6iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYMbK5x5D7>HbEBck^*|qaVl;m3`+RfJEvGeS>CgZqbXU^Hm znTjD2k}xI-4gkv0BtF0W6mBF)krZV+PO>9@NGuX)G#Y(FqXEQI5`XBCc*-#6{o@&8 z!dsvy{L2GAgTY|%?BGECKNt+k{|^Vlefzh5KioUq-~S6dBo4Jt$^~M784T_Vr`)-3 z zqA8_8j5)8Uk$uaH`!f{#*!zQwX~?h1fBTeS$_ur0kv}^6S3zt$oTkjj3TsQkDG{@D zEFtu-(=lc-7MS-P!@&Cra=)nfqoA|3)yYeZat)Wg z>j01lO|kq2z;Hr25tJ=PF!h;7Xn#uSG{o;^4Xv>I1wQT-KmiCe9YMEX-n!~Tl7`_q z4T--P!Rh3TigSiJjzy;fh9D#Ocq@NNdi6zX^!Q2UuX? z!7++qj3K}Y!#)x?04l3B50g7$oTr%gclVy}4pg&*LxkBB2OUt2o?&rA+4Tq}DCAi6 z-03=v!v&BD1bBkdQ2c=WYa9n2j?p;80lYA^RHdI&E+nr1kfX~JhVCo4pp%T^doh4iHuO{X&uGs26~qFOVxj%6j|A!yDG(HMsc4hjPKpKK$c z0c7$65f&&w0(C%sc%>>R)|d6+8ZSnmY=c4eC=BTh2S4S4M&u90=oWeWL0}f65X@NX z8g934NEpho7}GRX_{<4{ld}uicsdRVpIIJILTb2clrfi!0-a;VNI>GLZQp>f%}e-W zqS~=lTXCi#DnNq7?6q#i<%3rwB0}?_Pm^rumWM@suI)*Nf&?uawG61n%X@=Ej5zkr zY%$q7{va4SVpE89O$Ci(k#VL3@iLyfAWjgDXncVM zPzEPB3F$(@uvM-}9E{xeiZ?E2*f2eC!H~eyg<`ZM2^W^t@;VB#ZN>uD)h|r#oa-bR zNj!b4K9BS}fCznf8>2ZQq3qWPhWdk8BzOdG+$vVEXdsy&#LVbpC9aswF$3<;aFEI> z64#gpm}|8z#X@ka{TxG>>r!cl0_t;V-+Y`1UNm%l#5tM9y@Uom3Ak^&>!31%cfV@% zds@c2*LcyjJ*9~(N7)FvFMm%_`03>b!UfO1D}fwASN)&8#ghs4#R$4*^g{Oze>!J) zf|>K;jK2JU{Z!!Xp?9dX`cBs+m(duKQqDwAstnz$j4xIaC*_#+rYQ+-6k@gTPS|YU`vG_oaEEvGMKX{Y-gd z-EQ&iPl`VkmvC1*qY}wgr7)Gg;OV)oVKgQeQca$o%b}E(0CPYBZf3-vm6WG#g9Bn1 zGI6({*5En|sJ~?mQ;#IvRq*!x>A4n2^)jR=_yL7-&Tacqetn^s=naae*r~X+1yY4( zR!}fBnGhcmCY1GTiJsJcJ*iA(PsgUG1u|Xg4q3O^4)6@4P|S{J*uR!4 z4>zPwScu6Q8P%JXR zs1c1?;aDLax`=65^T+V}LB;}lV2>?>&-qG4ijq!j>~hhUbJ6 z8vjVRoFXc>OzL4({KQNN_6Peg*3%1Fr#Rsl8FhI&(Zl)F(L-M4+yo-yK^h4SGPla| zg<#rO)-ziJq-RlBe|l>mNI{s>XlqD5x^zV}P-P(eeN}Iu(AC8Uz zaY!(084nZ;V;c{|A5fHpnD^Nj`8rIeBV4T@*?86AVMo@NBkD7(A~M!#HoZCWeaUcV zuEJHlIGwoqT$xcPU?mmxQ#fZd!eWL~F2$G;KMzvi57P6(K~qR{7Kgt-8y=V-%AXI5Z7@D5iSfjCGgks{eQeO$5(V0(X-M`y3*km&!$Y5bq00g9vcpP&GqKOgSZr~tS; zKF_)+EtoQ3kRZZ%r_~C9k~}glXapBdwjtK){XRnn2!$jx?jy&YjOS0h6s57 z?Dgf#3r~Cy575Sn{EvhE{k_uq-@)GDV6*=B7|*56&*+im%#Io2Fvd8x3tBkvI-QRn zdq5`E@#WH^)|2Qic)#fNW7pnlS@fiGf!o{8zpxIPqeMB0YT@ARn^!Pi088UoO*v+m zWAJGdp*Y~9ti|n^3fRU`A{I?8WpjE@3i{5DY!!?dhaWF5&)=WDK6&~6{Pmm57au>i zha}-hOmN6?6U^_nrJ(yFgkCR;?t^S;DVPtpw=l&b4|eq^NQ0RmF?-Sd=|-&x9N2USg`D+F-3`^+1718+Ez#To>}iiK7u zoue3xhnXc_s%*;$U1P3t50;jlRWuVNB+KfQGly9I$@}x+7z;Ga7IO_uJ?~TFusmTh z(b?ksCF5D0Yfw#nHy=SOM?3X3eJU@2PbigBw*>oU7MzASL!hV9Q$}!ebK{x%CO^`N z+-JY^vORZSNDyNi@rBZ3gyqad?;^`zs4QCupA_32LEo%7T+RpwZZbv)*9kPtrqhrK zT)w)H@3l&@VF|0a^6>!>q0<{pjHT|?(FRPeOrd){5%NywG((}L@uz^`LTB0-)nhb; zn`5IQI@fri1LG*<)QyfWvE)2wK@EC|1LGx3D|scaAVTi>azOquMjRjR1CD(f;6P#d z&#Z_F!}_*v~*zCus1M(YDg9eqb`!Qo7D3y~7C5m4rPo! zpxEYS>I7LNU0Lbp5|O87&hP?mP%KO;sGJ>MRnV-M73#SenOB`P7@!E}9Eq933IU#6 zPIfU7h9ns^1;g?nk6x{nLaO5o zj=bL9_VPCdOePeL28EXL_NS-herXS@GmG)j74b zSGJkR9ln~T^C({(3WjOd#G$d#`u<|+d{(xkl}paZ57eo?j@VbVXvp|Q%#a{X4HTK%7ggEIH@t`=a0{vSL$SknK` z_6|4t|1qA@vYb&xcGKUNQ{36o{-|yqU>5hgkEiErGc-DuM0(z&vb427T8n)#4_$Vn zWQm=!S^%}01wsFfqOhUZCm?ZvV*$IaVy@H6E#yB?8@4&V^TA-v@;^Kn9_}v5|H1A? z{vYEpT!(+J;wY&Npqp*j??TBVtVk^}rvzks{5J}ul>)IzFV(vl9sH{b=+;GHH+M0e zqB5mNQWg8xJdOI%D{S4tVeh_zdkH9P%`>l&e>6 z#XV#zm0YQKrtH3V8p=XG@^P8&4vcpPR%*d1Zk7||dk6~|J}bE?$F$dom6Hafw;0v+ zLVfk}y+?3+J8CK^(6rEL1OMFFgw)tlzFVmTrk-1}9l^zZek52WTXI-yM z87G>&ou{S_yyum5ADX>J*(vo*my6B4KU$4dJ+hqB*`d5Lq-HqELK~2JH zeqhuiqLp!Qh&Zo7tSXoD5m3vF%TnrY8zHDSwM!fAx*-C5~il-R9 zyT*&B@SWbhIC@d3E9}LWR7FZ`8lIwT_G{Q%tx8pN1p2JU*`l%A29uV~JLSZP06_z)~eHs!%g7?$JDL zu(^XWtF&nv!EUZ&q$TP$<65JT9vtCH3%87L8ax2PZ%p)JG1Ju9sl4Y&GAEUM2^Dn_Z?1Q8VxYByKQLryM>DqzcPnogBq9iPu#nQ>l&8$`|oO9cLn`Ow&^M#%^>%ZCY-FI97UbX(azgN!x7!D6M z_dh+#(`NlQ8~-&Hfb(PGH!Hwvt^nJUzN>L|PuJ9q-eb*}KY(ig%2%EraqaorS$$qf z7JYne8;Y2c%g$v5JvNKpn?>)0&dm$FNcF+ z`TVzoz0LaXqde=c|JJJ<=YnI`+jAF;og)4DuDfFVBW2_dX=TH68XTEom~EDi*IPbT zRJ&C7?PdX*!T=nU=4|%Cyk`hMw8^!fV@t75aboVCnp?-NCbs z{(qEbjahr;Q8D(Cj9g8ZAeLrihKEow?V^+=vTCAK1*JCMaAP*=wY8P)%zU`lV%ATq z4f(UeRp-}KS8=Yf)VRC%TDBf{7fS88x5B4*gQj7Z@~xUH39$sFdoM)XJ3E(AD%|MV znq;-`8|21`l2k`W5*ycTZriyq$C=wIOIZk~@GQ!37fD@D?pBDDb{kfYyt!Pf`xROA z^_~{?|IT*bJ}d11{AHFSTlZs>L2;~Dm^?N!C56BS?TCixA( z+W1XQaz#?irKnmra($y_bn=qdF;jp~_@8EFb|3Av}+2emp5FcW~Pzz`?ZMaJm zP-jN2F?lG^zx5QNQ0qPuiCRE+nNAdd-DgtK45;nYq87@-O)%Ouv0h-%O|D%E3)VKi zGBRira=#hlTj<_55FMDZ*%|8<2)rzRJ$MZo8R_dbtC7a zn%~CVsmUQPeLfzV#7 zr_TN}8r~!0ulTI6|HFfWL23Wj!NLBsjs1U&=i|fQ|E+GY{&U^9MhSw>Vu(p_9{CnCx4aDApgO!&#+l(nPWC~piQy3Hww0d+Lxb~YH@H|&2fxX zXQ)-;t^d|1jo!N(r4}?puMgFpf6xrHwih42flJYw^#54j-hXd1uuA_A2M6W-zk_F+ z`QM{FpGp7!pjqcnW(H`8&8AzcW*Vs0v3qZoy=>Kxm&uW=Jm5%>U zQ+svtFZ`r*!2aFaSSA05!`-s{@9phvJyhM#s1hHs`S<6_I%N_+KMBj?NUfN zC@ZO(1zLCEYd8p`PX5#23(Nn(M*bh;sXoqpBmZ}n|1_wVe@Wf1TK>Hm4kI#+DZ>xg z#wz(g7?$Hd`-9E;|KmJcaE^q)Eao66=%I(38IEC`k}x3g6cXfLqbcTIXA3T8gac0# zwI&FBhQko1Ass`6gg+zk^r@65B*+}AlriT$ii6G;#CWO?#M(|6o{$eXfEyxa@c-?2 z@H!3`Kx0)?q67(M5Rw>s9q;7g{e_?mcedb|MiGtSm*Wcv2;&`ZN{lkmT^*@Pv~_zmsD1I3MdFvsjIwckI;U$vn@oNn-g8HoLnN= z#Db6^#lsm8}iD=iZ<<#sYc6gDOb*u8S1_WkE>v{)|s>bvikt z;+$cQV^M^wM_bWYnTp(w;8-xCQrKb|<3c6p_C9T$LQyGTYZ8F3VE@`%4-B=+m_+>2m4@>s_n`1e+Q+XrJA791tt@?s!7Cs zp_`Ndue#kLh4OR^`Pu%0(-Ub1Q!ZtRsSfFD5lohXgtW{Zy%3|I%p}<@OcFkd7t$;f z*#-&$$8*AHtjIY>jA&t%CLRl`auXWJQM&qgTVfd}N2Dx7nf$5*56dEX8dnQ{5)&4g{3;AiOu>wFt@ojZCno@julFm*=JK0y;7tJk#f`%Z6 z!M3D_5w_*1 zmCDLL6`?qrKU8OFAXNmBZ3=2Pl3>_2{LNi+@y{1S?{G&#fA?z3IZI+zw6l2-DasJm@65L(`byDUd^WAh}gOYYUk$eDRMme_S9L%(AHX)ZFF?&77jFCW* zj+(!%%v-%&x?NQ(p$aX#l>4rwNN1xL1kw1L7U1c56F4WIy)?kKzAYgEp&*cyQbun{ zd>Rj1GiI==yjUdoN>1Uf>;YC+QW0Fea&pG6o|;i4YIv?*Q6Gg@@=whK@Xqk`={Y3Q zjI+6MqU~IzID-qQ&-)@3lo1qWSqHqYq4Y@7-^%{%O(@GR)s%i^PogZfL!!=fljJ?t zRIj0O#p!MLC5ZAV*C0RPnt~beiWGe(c~Vc`0&_lHPhFO-GVc|~N(%N8Mn5dHSm6%| z<@hlu>`6+ELlj>>1q2Mm0gW_X#=<*<(pza2f>PNkb&Z225h!k;P~(zux+IN;A^(yk zVQh-RHksIvBo21kw&3o5&@KTNQYW0A!}00K8#TkBH#h*~`v!qk&DIHG`D{7a+yyqX znEa!jIz}kb#&d>k*y3-R#@`QQBi|3&HNx-M%KrYIY-WFducjR(6ra>iiINSpno3ZU z94i48gryQ<@!+~OWr#}*V44s z9TQb!U^VRaX13wHrw3JDt&VH@TqPL;QBsNH! zCJEvxQIu1F4Hj(D zeBd3{fGXOg)exJlQuS5I60%BsK>}`O#Gh5QgBUimb~PdHoA=8=Yb;$m>MvWp<|~+s z;cCU^QrFrRl+lt7k`rUEyKY&6di&;;+VP_q-&WZGlZ)OriDS1Mr1$gj3lmY&Lq9nvm zAE3v*iOnlmpeWSca#B71O;d%PUG%da&pW5muiMU#oo_L-aPw@Q&GWTC|1SUl|NrWp JGZ6p=0Ra1ej_&{f literal 0 HcmV?d00001 diff --git a/helm/alfresco-content-services/charts/postgresql-0.8.5.tgz b/helm/alfresco-content-services/charts/postgresql-0.8.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ad298dc869dd725a1f7df31c0dd73d9742dffaf8 GIT binary patch literal 6803 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 Date: Fri, 15 Dec 2017 18:32:23 +0200 Subject: [PATCH 646/670] DEPLOY-276: Updated Kubernetes Nodes in README --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index de6394ef4a..633e26507b 100644 --- a/README.md +++ b/README.md @@ -46,8 +46,10 @@ Build and start Alfresco Content Services Community using docker-compose or Kube #### Notes: -* The images used in the docker-compose.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below -* If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you use proper tags when you create the images and update the docker-compose.yml with these proper tags that you created. +* The images used in the alfresco-content-services/values.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below +* If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you build them in the minikube docker environment and update the alfresco-content-services/values.yml with the tags that you created. +* You can also change those values on a live env by running ```helm alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"``` +* Hint: Run ```eval $(minikube docker-env)``` to switch to your your minikube docker env on osx ## Docker images From fa05e20a6acc3cb413bd233506489ff34ff75fd4 Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Mon, 18 Dec 2017 10:51:03 +0200 Subject: [PATCH 647/670] DEPLOY-276: Updated Readme to address review changes, updated requirements and notes for AWS usage posibility --- README.md | 14 +++++++------- .../charts/nginx-ingress-0.8.18.tgz | Bin 9411 -> 0 bytes .../charts/nginx-ingress-0.8.21.tgz | Bin 0 -> 9627 bytes .../charts/postgresql-0.8.5.tgz | Bin 6803 -> 6847 bytes .../requirements.lock | 6 +++--- .../requirements.yaml | 6 ++++-- .../templates/NOTES.txt | 13 ++++++++++--- helm/alfresco-content-services/values.yaml | 7 +++++++ 8 files changed, 31 insertions(+), 15 deletions(-) delete mode 100644 helm/alfresco-content-services/charts/nginx-ingress-0.8.18.tgz create mode 100644 helm/alfresco-content-services/charts/nginx-ingress-0.8.21.tgz diff --git a/README.md b/README.md index 633e26507b..9abdc6b4d3 100644 --- a/README.md +++ b/README.md @@ -36,21 +36,21 @@ Build and start Alfresco Content Services Community using docker-compose or Kube ### Kubernetes Instructions: #### Prerequisite: -* A minikube k8s cluster up and ready +* A minikube/aws k8s cluster up and ready (minimum 5GB memory) * Access to docker-internal.alfresco.com and quay.io repositories - Platform Services team is working on getting the images in [Docker Hub](https://hub.docker.com/u/alfresco/) registry. +* A kubernetes secret (quay-registry-secret) with the above mentioned credentials created in your cluster. #### Steps 1. Go to **helm** folder -2. Run ```helm install alfresco-content-services``` -3. After deploying the helm chart you will get information for obtaining the URL for alfresco, share and solr. +2. Run ```helm dependency update && helm install alfresco-content-services``` +3. After deploying the helm chart you will get information for obtaining the URL for repository, share and solr. #### Notes: -* The images used in the alfresco-content-services/values.yml are images that are build in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below +* The images used in the alfresco-content-services/values.yml are images that are built in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below. * If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you build them in the minikube docker environment and update the alfresco-content-services/values.yml with the tags that you created. -* You can also change those values on a live env by running ```helm alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"``` -* Hint: Run ```eval $(minikube docker-env)``` to switch to your your minikube docker env on osx - +* You can also change those values when deploying the helm chart by running ```helm alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"```. +* Hint: Run ```eval $(minikube docker-env)``` to switch to your minikube docker environment on osx. ## Docker images These images are used to build the images used by the docker-compose.yml project to bring up an ACS Community, similar to what the installer did/does. diff --git a/helm/alfresco-content-services/charts/nginx-ingress-0.8.18.tgz b/helm/alfresco-content-services/charts/nginx-ingress-0.8.18.tgz deleted file mode 100644 index 03b8a5398a8de8389b212631acb4d48091f45e13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9411 zcmV;!Bs|+6iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYMbK5x5D7>HbEBck^*|qaVl;m3`+RfJEvGeS>CgZqbXU^Hm znTjD2k}xI-4gkv0BtF0W6mBF)krZV+PO>9@NGuX)G#Y(FqXEQI5`XBCc*-#6{o@&8 z!dsvy{L2GAgTY|%?BGECKNt+k{|^Vlefzh5KioUq-~S6dBo4Jt$^~M784T_Vr`)-3 z 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 JGZ6p=0Ra1ej_&{f diff --git a/helm/alfresco-content-services/charts/nginx-ingress-0.8.21.tgz b/helm/alfresco-content-services/charts/nginx-ingress-0.8.21.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6a3a35cbb2a9d34f4308b4b9df350666fab1aecf GIT binary patch literal 9627 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 R{~G`R|NpY$DNq1>004`udYk|N delta 5683 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 Z_I!K3J^%gB{{{d6|Nr7q;vfKg004sVS=j&p diff --git a/helm/alfresco-content-services/requirements.lock b/helm/alfresco-content-services/requirements.lock index cd6064fabc..4b6531d590 100644 --- a/helm/alfresco-content-services/requirements.lock +++ b/helm/alfresco-content-services/requirements.lock @@ -4,6 +4,6 @@ dependencies: version: 0.8.5 - name: nginx-ingress repository: https://kubernetes-charts.storage.googleapis.com - version: 0.8.18 -digest: sha256:ee2a7ec0ed228940857082137c9fe72ff81fc4a2bdb3ca8315d258066750b714 -generated: 2017-12-15T16:41:34.393214+02:00 + version: 0.8.21 +digest: sha256:6eae9ef52c9b9be71a85a9223dcb35a5ff43d72044fd0ca47bd91f299f75052a +generated: 2017-12-18T10:40:16.035017+02:00 diff --git a/helm/alfresco-content-services/requirements.yaml b/helm/alfresco-content-services/requirements.yaml index 92118edfa8..dc631b71be 100644 --- a/helm/alfresco-content-services/requirements.yaml +++ b/helm/alfresco-content-services/requirements.yaml @@ -3,6 +3,8 @@ dependencies: - name: postgresql version: 0.8.5 repository: https://kubernetes-charts.storage.googleapis.com/ + condition: postgresql.enabled - name: nginx-ingress - version: ^0.8.11 - repository: https://kubernetes-charts.storage.googleapis.com \ No newline at end of file + version: ^0.8.21 + repository: https://kubernetes-charts.storage.googleapis.com + condition: nginx-ingress.enabled \ No newline at end of file diff --git a/helm/alfresco-content-services/templates/NOTES.txt b/helm/alfresco-content-services/templates/NOTES.txt index 02531b1398..ee8e33d798 100644 --- a/helm/alfresco-content-services/templates/NOTES.txt +++ b/helm/alfresco-content-services/templates/NOTES.txt @@ -1,8 +1,15 @@ -1. Get the application URL by running these commands: +1. Get the share application URL by running these commands: IP=$(minikube ip) PORT=$(kubectl get services {{ .Release.Name }}-nginx-ingress-controller -o jsonpath={.spec.ports[0].nodePort}) echo "http://$IP:$PORT/share" -2. To access Alfresco go to /alfresco path with the same base URL -4. To access Solr go to /solr path with the same base URL +2. To access Repository go to /alfresco path with the same base URL +3. To access Solr go to /solr path with the same base URL + +4. If you deployed on an AWS cluster you can get the route53 entry for the cluster as follows: + +DNSNAME=$(kubectl get services {{ .Release.Name }}-nginx-ingress-controller -o jsonpath={.status.loadBalancer.ingress[0].hostname}) +echo "http://$DNSNAME/share" + +5. Note: if you deployed on a different namespace than the default one, then the kubectl commands should also specify the namespace to run in with --namespace \ No newline at end of file diff --git a/helm/alfresco-content-services/values.yaml b/helm/alfresco-content-services/values.yaml index 1afcfda968..e560fda250 100644 --- a/helm/alfresco-content-services/values.yaml +++ b/helm/alfresco-content-services/values.yaml @@ -53,6 +53,9 @@ solr: SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive postgresql: + ## If true, install the postgresql chart alongside Alfresco Content Services + enabled: true + nameOverride: postgresql-acs imageTag: "9.4.12" @@ -62,3 +65,7 @@ postgresql: persistence: enabled: false + +nginx-ingress: + ## If true, install the nginx-ingress chart alongside Alfresco Content Services + enabled: true \ No newline at end of file From 5925f7ce00362447cdbeffe3abf6698b56889bf4 Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Mon, 18 Dec 2017 14:07:03 +0200 Subject: [PATCH 648/670] DEPLOY-276: Fix typo in README , removed requirements.lock, charts folder and added them to gitignore. --- .gitignore | 5 +++++ README.md | 2 +- .../charts/nginx-ingress-0.8.21.tgz | Bin 9627 -> 0 bytes .../charts/postgresql-0.8.5.tgz | Bin 6847 -> 0 bytes helm/alfresco-content-services/requirements.lock | 9 --------- 5 files changed, 6 insertions(+), 10 deletions(-) delete mode 100644 helm/alfresco-content-services/charts/nginx-ingress-0.8.21.tgz delete mode 100644 helm/alfresco-content-services/charts/postgresql-0.8.5.tgz delete mode 100644 helm/alfresco-content-services/requirements.lock diff --git a/.gitignore b/.gitignore index 9346843361..21fc1b4ffb 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,8 @@ target # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* + +# Kubernetes Helm + +requirements.lock +**/charts/*.tgz diff --git a/README.md b/README.md index 9abdc6b4d3..7a2cd519f6 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Build and start Alfresco Content Services Community using docker-compose or Kube #### Steps 1. Go to **helm** folder -2. Run ```helm dependency update && helm install alfresco-content-services``` +2. Run ```helm dependency update alfresco-content-services && helm install alfresco-content-services``` 3. After deploying the helm chart you will get information for obtaining the URL for repository, share and solr. #### Notes: diff --git a/helm/alfresco-content-services/charts/nginx-ingress-0.8.21.tgz b/helm/alfresco-content-services/charts/nginx-ingress-0.8.21.tgz deleted file mode 100644 index 6a3a35cbb2a9d34f4308b4b9df350666fab1aecf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9627 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 diff --git a/helm/alfresco-content-services/requirements.lock b/helm/alfresco-content-services/requirements.lock deleted file mode 100644 index 4b6531d590..0000000000 --- a/helm/alfresco-content-services/requirements.lock +++ /dev/null @@ -1,9 +0,0 @@ -dependencies: -- name: postgresql - repository: https://kubernetes-charts.storage.googleapis.com/ - version: 0.8.5 -- name: nginx-ingress - repository: https://kubernetes-charts.storage.googleapis.com - version: 0.8.21 -digest: sha256:6eae9ef52c9b9be71a85a9223dcb35a5ff43d72044fd0ca47bd91f299f75052a -generated: 2017-12-18T10:40:16.035017+02:00 From 9c9e7424fb49904595cbd010fb32732f88ecf90c Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Tue, 19 Dec 2017 18:22:39 +0200 Subject: [PATCH 649/670] DEPLOY-276: Add resources to each pod definition. --- .../requirements.yaml | 2 +- .../templates/deployment-repository.yaml | 2 ++ .../templates/deployment-share.yaml | 2 ++ .../templates/deployment-solr.yaml | 4 ++- helm/alfresco-content-services/values.yaml | 27 ++++++++++++++----- 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/helm/alfresco-content-services/requirements.yaml b/helm/alfresco-content-services/requirements.yaml index dc631b71be..c9adec13f6 100644 --- a/helm/alfresco-content-services/requirements.yaml +++ b/helm/alfresco-content-services/requirements.yaml @@ -7,4 +7,4 @@ dependencies: - name: nginx-ingress version: ^0.8.21 repository: https://kubernetes-charts.storage.googleapis.com - condition: nginx-ingress.enabled \ No newline at end of file + condition: alfresco-content-services.nginx-ingress.enabled \ No newline at end of file diff --git a/helm/alfresco-content-services/templates/deployment-repository.yaml b/helm/alfresco-content-services/templates/deployment-repository.yaml index cdf6c64ae1..2fd87a2a1a 100644 --- a/helm/alfresco-content-services/templates/deployment-repository.yaml +++ b/helm/alfresco-content-services/templates/deployment-repository.yaml @@ -26,6 +26,8 @@ spec: name: {{ template "content-services.fullname" . }}-repository-configmap ports: - containerPort: {{ .Values.repository.image.internalPort }} + resources: +{{ toYaml .Values.repository.resources | indent 12 }} initContainers: - name: init-postgres image: busybox diff --git a/helm/alfresco-content-services/templates/deployment-share.yaml b/helm/alfresco-content-services/templates/deployment-share.yaml index bdfb3ad7c8..6f268a30f4 100644 --- a/helm/alfresco-content-services/templates/deployment-share.yaml +++ b/helm/alfresco-content-services/templates/deployment-share.yaml @@ -23,6 +23,8 @@ spec: imagePullPolicy: {{ .Values.share.image.pullPolicy }} ports: - containerPort: {{ .Values.share.image.internalPort }} + resources: +{{ toYaml .Values.share.resources | indent 12 }} envFrom: - configMapRef: name: {{ template "content-services.fullname" . }}-share-configmap \ No newline at end of file diff --git a/helm/alfresco-content-services/templates/deployment-solr.yaml b/helm/alfresco-content-services/templates/deployment-solr.yaml index 197d9c812d..7a8901e9c2 100644 --- a/helm/alfresco-content-services/templates/deployment-solr.yaml +++ b/helm/alfresco-content-services/templates/deployment-solr.yaml @@ -25,4 +25,6 @@ spec: - configMapRef: name: {{ template "content-services.fullname" . }}-solr-configmap ports: - - containerPort: {{ .Values.solr.image.internalPort }} \ No newline at end of file + - containerPort: {{ .Values.solr.image.internalPort }} + resources: +{{ toYaml .Values.solr.resources | indent 12 }} \ No newline at end of file diff --git a/helm/alfresco-content-services/values.yaml b/helm/alfresco-content-services/values.yaml index e560fda250..8637c91f8e 100644 --- a/helm/alfresco-content-services/values.yaml +++ b/helm/alfresco-content-services/values.yaml @@ -21,6 +21,11 @@ repository: JAVA_OPTS: " -Dsolr.base.url=/solr -Dsolr.secureComms=none -Dindex.subsystem.name=solr6" + resources: + requests: + memory: "1000Mi" + limits: + memory: "4000Mi" share: replicaCount: 1 @@ -35,6 +40,11 @@ share: externalPort: 80 ingress: path: /share + resources: + requests: + memory: "500Mi" + limits: + memory: "1000Mi" solr: replicaCount: 1 @@ -51,21 +61,26 @@ solr: path: /solr environment: SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive + resources: + requests: + memory: "250Mi" + limits: + memory: "500Mi" postgresql: ## If true, install the postgresql chart alongside Alfresco Content Services enabled: true - nameOverride: postgresql-acs imageTag: "9.4.12" - postgresUser: alfresco postgresPassword: alfresco postgresDatabase: alfresco - persistence: enabled: false + resources: + requests: + memory: "250Mi" + limits: + memory: "500Mi" -nginx-ingress: - ## If true, install the nginx-ingress chart alongside Alfresco Content Services - enabled: true \ No newline at end of file +replicaCount: 1 From a7cd74749ff0043c665bba2aba6d194051c600f4 Mon Sep 17 00:00:00 2001 From: Sergiu Vidrascu Date: Wed, 20 Dec 2017 07:31:10 +0200 Subject: [PATCH 650/670] DEPLOY-276 : Fix typo in Readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a2cd519f6..38a10f284e 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Build and start Alfresco Content Services Community using docker-compose or Kube * The images used in the alfresco-content-services/values.yml are images that are built in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below. * If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you build them in the minikube docker environment and update the alfresco-content-services/values.yml with the tags that you created. -* You can also change those values when deploying the helm chart by running ```helm alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"```. +* You can also change those values when deploying the helm chart by running ```helm install alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"```. * Hint: Run ```eval $(minikube docker-env)``` to switch to your minikube docker environment on osx. ## Docker images From c36a044e274253f1ce60eb8b905131cb8d63f11f Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Wed, 20 Dec 2017 15:48:09 +0200 Subject: [PATCH 651/670] DEPLOY-276: Add dynamic release_name as variable to repository container --- .../templates/config-repository.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/helm/alfresco-content-services/templates/config-repository.yaml b/helm/alfresco-content-services/templates/config-repository.yaml index 93d678b0ef..77a5ca87b1 100644 --- a/helm/alfresco-content-services/templates/config-repository.yaml +++ b/helm/alfresco-content-services/templates/config-repository.yaml @@ -12,7 +12,12 @@ data: {{ $key }}: {{ $val | quote }} {{- end }} {{- end }} - CATALINA_OPTS: " -Ddb.driver=org.postgresql.Driver + RELEASE_NAME: {{ .Release.Name }} + CATALINA_OPTS: "-Dalfresco.host={{ template "content-services.fullname" . }}-repository + -Dalfresco.port={{ .Values.repository.service.externalPort }} + -Dshare.host={{ template "content-services.fullname" . }}-share + -Dshare.port={{ .Values.share.service.externalPort }} + -Ddb.driver=org.postgresql.Driver -Ddb.username={{ .Values.postgresql.postgresUser }} -Ddb.password={{ .Values.postgresql.postgresPassword }} -Ddb.url=jdbc:postgresql://{{ .Release.Name }}-postgresql-acs:5432/{{ .Values.postgresql.postgresDatabase }} From 0659e9d7c0a6b5ba73addb0ba7acd4da12504735 Mon Sep 17 00:00:00 2001 From: Marco Mancuso Date: Fri, 5 Jan 2018 09:15:05 +0000 Subject: [PATCH 652/670] Investigate and Update ACS initContainer to reliably wait for the db to be up --- .../templates/_helpers.tpl | 37 ++++++++++++++++++- .../templates/config-repository.yaml | 10 ++--- .../templates/deployment-repository.yaml | 4 +- helm/alfresco-content-services/values.yaml | 4 ++ 4 files changed, 47 insertions(+), 8 deletions(-) diff --git a/helm/alfresco-content-services/templates/_helpers.tpl b/helm/alfresco-content-services/templates/_helpers.tpl index a834dbe6a0..05a8699044 100644 --- a/helm/alfresco-content-services/templates/_helpers.tpl +++ b/helm/alfresco-content-services/templates/_helpers.tpl @@ -5,4 +5,39 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{- define "content-services.fullname" -}} {{- $name := default .Chart.Name .Values.nameOverride -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} \ No newline at end of file +{{- end -}} + +{{- define "database.hostname" -}} +{{- $dbtype := ( .Values.database.type | toString ) -}} +{{- if eq $dbtype "postgresql" }} +{{- printf "%s-%s" .Release.Name .Values.postgresql.nameOverride | trim -}} +{{- end }} +{{- end -}} + +{{- define "database.port" -}} +{{- $dbtype := ( .Values.database.type | toString ) -}} +{{- if eq $dbtype "postgresql" }} +{{- print .Values.postgresql.service.port | trim -}} +{{- end }} +{{- end -}} + +{{- define "database.driver" -}} +{{- $dbtype := ( .Values.database.type | toString ) -}} +{{- if eq $dbtype "postgresql" }} +{{- print .Values.postgresql.driver | trim -}} +{{- end }} +{{- end -}} + +{{- define "database.user" -}} +{{- $dbtype := ( .Values.database.type | toString ) -}} +{{- if eq $dbtype "postgresql" }} +{{- print .Values.postgresql.postgresUser | trim -}} +{{- end }} +{{- end -}} + +{{- define "database.password" }} +{{- $dbtype := ( .Values.database.type | toString ) -}} +{{- if eq $dbtype "postgresql" -}} +{{- print .Values.postgresql.postgresPassword | trim -}} +{{- end }} +{{- end -}} diff --git a/helm/alfresco-content-services/templates/config-repository.yaml b/helm/alfresco-content-services/templates/config-repository.yaml index 77a5ca87b1..5f16955e51 100644 --- a/helm/alfresco-content-services/templates/config-repository.yaml +++ b/helm/alfresco-content-services/templates/config-repository.yaml @@ -17,9 +17,9 @@ data: -Dalfresco.port={{ .Values.repository.service.externalPort }} -Dshare.host={{ template "content-services.fullname" . }}-share -Dshare.port={{ .Values.share.service.externalPort }} - -Ddb.driver=org.postgresql.Driver - -Ddb.username={{ .Values.postgresql.postgresUser }} - -Ddb.password={{ .Values.postgresql.postgresPassword }} - -Ddb.url=jdbc:postgresql://{{ .Release.Name }}-postgresql-acs:5432/{{ .Values.postgresql.postgresDatabase }} + -Ddb.driver={{ template "database.driver" . }} + -Ddb.username={{ template "database.user" . }} + -Ddb.password={{ template "database.password" . }} + -Ddb.url=jdbc:{{ .Values.database.type }}://{{ template "database.hostname" . }}:{{ template "database.port" . }}/{{ .Values.postgresql.postgresDatabase }} -Dsolr.host={{ template "content-services.fullname" . }}-solr - -Dsolr.port={{ .Values.solr.service.externalPort }}" \ No newline at end of file + -Dsolr.port={{ .Values.solr.service.externalPort }}" diff --git a/helm/alfresco-content-services/templates/deployment-repository.yaml b/helm/alfresco-content-services/templates/deployment-repository.yaml index 2fd87a2a1a..84ecceb699 100644 --- a/helm/alfresco-content-services/templates/deployment-repository.yaml +++ b/helm/alfresco-content-services/templates/deployment-repository.yaml @@ -29,6 +29,6 @@ spec: resources: {{ toYaml .Values.repository.resources | indent 12 }} initContainers: - - name: init-postgres + - name: init-db image: busybox - command: ['sh', '-c', 'until nslookup {{ .Release.Name }}-postgresql-acs; do echo "waiting for postgres"; sleep 2; done;'] + command: ['sh', '-c', 'until nc -w1 {{ template "database.hostname" . }} {{ template "database.port" . }}; do echo "waiting for {{ .Values.database.type }}"; sleep 2; done;'] diff --git a/helm/alfresco-content-services/values.yaml b/helm/alfresco-content-services/values.yaml index 8637c91f8e..45a0d66753 100644 --- a/helm/alfresco-content-services/values.yaml +++ b/helm/alfresco-content-services/values.yaml @@ -82,5 +82,9 @@ postgresql: memory: "250Mi" limits: memory: "500Mi" + driver: org.postgresql.Driver + +database: + type: postgresql replicaCount: 1 From 3315755450176872702f21090cc78293751090e9 Mon Sep 17 00:00:00 2001 From: Marco Mancuso Date: Fri, 5 Jan 2018 09:53:54 +0000 Subject: [PATCH 653/670] adding comments per functions + cleaning --- .../templates/_helpers.tpl | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/helm/alfresco-content-services/templates/_helpers.tpl b/helm/alfresco-content-services/templates/_helpers.tpl index 05a8699044..272ae223bd 100644 --- a/helm/alfresco-content-services/templates/_helpers.tpl +++ b/helm/alfresco-content-services/templates/_helpers.tpl @@ -7,37 +7,47 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{/* +Get the Database hostname depending on the Database type +*/}} {{- define "database.hostname" -}} -{{- $dbtype := ( .Values.database.type | toString ) -}} -{{- if eq $dbtype "postgresql" }} -{{- printf "%s-%s" .Release.Name .Values.postgresql.nameOverride | trim -}} +{{- if eq ( .Values.database.type | toString ) "postgresql" }} +{{- printf "%s-%s" .Release.Name .Values.postgresql.nameOverride -}} {{- end }} {{- end -}} +{{/* +Get the Database port depending on the Database type +*/}} {{- define "database.port" -}} -{{- $dbtype := ( .Values.database.type | toString ) -}} -{{- if eq $dbtype "postgresql" }} -{{- print .Values.postgresql.service.port | trim -}} +{{- if eq ( .Values.database.type | toString ) "postgresql" }} +{{- print .Values.postgresql.service.port -}} {{- end }} {{- end -}} +{{/* +Create the Database driver depending on the Database type +*/}} {{- define "database.driver" -}} -{{- $dbtype := ( .Values.database.type | toString ) -}} -{{- if eq $dbtype "postgresql" }} -{{- print .Values.postgresql.driver | trim -}} +{{- if eq ( .Values.database.type | toString ) "postgresql" }} +{{- print .Values.postgresql.driver -}} {{- end }} {{- end -}} +{{/* +Get the Database user depending on the Database type +*/}} {{- define "database.user" -}} -{{- $dbtype := ( .Values.database.type | toString ) -}} -{{- if eq $dbtype "postgresql" }} -{{- print .Values.postgresql.postgresUser | trim -}} +{{- if eq ( .Values.database.type | toString ) "postgresql" }} +{{- print .Values.postgresql.postgresUser -}} {{- end }} {{- end -}} +{{/* +Get the Database password depending on the Database type +*/}} {{- define "database.password" }} -{{- $dbtype := ( .Values.database.type | toString ) -}} -{{- if eq $dbtype "postgresql" -}} -{{- print .Values.postgresql.postgresPassword | trim -}} +{{- if eq ( .Values.database.type | toString ) "postgresql" -}} +{{- print .Values.postgresql.postgresPassword -}} {{- end }} {{- end -}} From 80c668aadda047e0660249bd7135628f9bbd94b2 Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Thu, 11 Jan 2018 16:24:14 +0200 Subject: [PATCH 654/670] REPO-3174: prepare community release 201802 EA --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5737bdc9c0..5cfdbabdbf 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ - 6.0.0-ea + 6.0.1-ea 5.2.f From be3657a47de4434d578878e5415aab49b35107a2 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Thu, 11 Jan 2018 17:22:31 +0000 Subject: [PATCH 655/670] [maven-release-plugin] prepare release full-community-packaging-6.0.1-ea --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index cfc08555e9..33c0b42a1e 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.1-SNAPSHOT + 6.0.1-ea ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index 2fa816a151..49c91975e4 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.1-SNAPSHOT + 6.0.1-ea ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index 4dd5fd414f..4f59f9ca53 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.1-SNAPSHOT + 6.0.1-ea ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index 7f2f74bc5d..783e7315ba 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.1-SNAPSHOT + 6.0.1-ea ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index ee3f0b55ff..846eb1fba2 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.1-SNAPSHOT + 6.0.1-ea ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index 5cfdbabdbf..b92c49278c 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.1-SNAPSHOT + 6.0.1-ea pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - HEAD + full-community-packaging-6.0.1-ea diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 58960052f0..a2b6d8ad85 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.1-SNAPSHOT + 6.0.1-ea ../pom.xml pom From 0b0d4fef1773fb8ad4dccdf9d5049cd134f8fadc Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Thu, 11 Jan 2018 17:22:37 +0000 Subject: [PATCH 656/670] [maven-release-plugin] prepare for next development iteration --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 33c0b42a1e..4c7bb0953d 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.1-ea + 6.0.2-SNAPSHOT ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index 49c91975e4..0e54a38f8d 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.1-ea + 6.0.2-SNAPSHOT ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index 4f59f9ca53..d7ae8935c8 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.1-ea + 6.0.2-SNAPSHOT ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index 783e7315ba..2bf0ea594f 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.1-ea + 6.0.2-SNAPSHOT ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 846eb1fba2..ea0ebce9ec 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.1-ea + 6.0.2-SNAPSHOT ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index b92c49278c..73237bfc9b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.1-ea + 6.0.2-SNAPSHOT pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - full-community-packaging-6.0.1-ea + HEAD diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index a2b6d8ad85..2c46e006da 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.1-ea + 6.0.2-SNAPSHOT ../pom.xml pom From 4e02ee3b2fc512a84c77c4be3614e7607a6af496 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Mon, 19 Feb 2018 09:01:57 +0000 Subject: [PATCH 657/670] [maven-release-plugin] prepare release full-community-packaging-6.0.2-ea --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 4c7bb0953d..36e55a2eda 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.2-SNAPSHOT + 6.0.2-ea ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index 0e54a38f8d..3cc5c773b2 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2-SNAPSHOT + 6.0.2-ea ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index d7ae8935c8..cbc5c6bec4 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2-SNAPSHOT + 6.0.2-ea ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index 2bf0ea594f..bea1be5fcb 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2-SNAPSHOT + 6.0.2-ea ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index ea0ebce9ec..8864afa826 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.2-SNAPSHOT + 6.0.2-ea ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index 73237bfc9b..8fa26ec826 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.2-SNAPSHOT + 6.0.2-ea pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - HEAD + full-community-packaging-6.0.2-ea diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 2c46e006da..fb63be8981 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.2-SNAPSHOT + 6.0.2-ea ../pom.xml pom From 1171420274600b64d1ff0c2948f752d89f0efca9 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Mon, 19 Feb 2018 09:02:03 +0000 Subject: [PATCH 658/670] [maven-release-plugin] prepare for next development iteration --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 36e55a2eda..cadfcd12fc 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.2-ea + 6.0.3-SNAPSHOT ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index 3cc5c773b2..b77fa3cfc9 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2-ea + 6.0.3-SNAPSHOT ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index cbc5c6bec4..40361a53ca 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2-ea + 6.0.3-SNAPSHOT ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index bea1be5fcb..c554c0f955 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2-ea + 6.0.3-SNAPSHOT ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 8864afa826..62a45baf1b 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.2-ea + 6.0.3-SNAPSHOT ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index 8fa26ec826..5edcfbebc4 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.2-ea + 6.0.3-SNAPSHOT pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - full-community-packaging-6.0.2-ea + HEAD diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index fb63be8981..c63d15f7d7 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.2-ea + 6.0.3-SNAPSHOT ../pom.xml pom From 17ca05890e4134a1df8e46cef80d2b6f817f14d3 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 21 Feb 2018 12:05:21 +0000 Subject: [PATCH 659/670] REPO-3193 Use alfresco-pdf-renderer 1.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5edcfbebc4..ad812669d5 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ 5.2.1-alfresco 7.0.5 1.0 - 1.0 + 1.1 6.0 From edb6e4e741faef6d4e262b3798f3bbf1d0771a79 Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Thu, 22 Feb 2018 11:07:24 +0200 Subject: [PATCH 660/670] DEPLOY-377: Add pvc for saving database data --- .../templates/NOTES.txt | 6 +++- .../templates/pvc.yaml | 34 +++++++++++++++++++ helm/alfresco-content-services/values.yaml | 19 ++++++++--- 3 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 helm/alfresco-content-services/templates/pvc.yaml diff --git a/helm/alfresco-content-services/templates/NOTES.txt b/helm/alfresco-content-services/templates/NOTES.txt index ee8e33d798..58384621ca 100644 --- a/helm/alfresco-content-services/templates/NOTES.txt +++ b/helm/alfresco-content-services/templates/NOTES.txt @@ -12,4 +12,8 @@ echo "http://$IP:$PORT/share" DNSNAME=$(kubectl get services {{ .Release.Name }}-nginx-ingress-controller -o jsonpath={.status.loadBalancer.ingress[0].hostname}) echo "http://$DNSNAME/share" -5. Note: if you deployed on a different namespace than the default one, then the kubectl commands should also specify the namespace to run in with --namespace \ No newline at end of file +5. Note: if you deployed on a different namespace than the default one, then the kubectl commands should also specify the namespace to run in with --namespace + +6. Depending on the storage you use for volumes you should be able to access the persisted db data in the following locations: + - On minikube the usual location is /tmp/hostpath-provisioning + - With docker-for-desktop the usual location is /Users/YourUser/.docker/Volumes/ \ No newline at end of file diff --git a/helm/alfresco-content-services/templates/pvc.yaml b/helm/alfresco-content-services/templates/pvc.yaml new file mode 100644 index 0000000000..b0248bde70 --- /dev/null +++ b/helm/alfresco-content-services/templates/pvc.yaml @@ -0,0 +1,34 @@ +{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} +{{- if .Values.persistence.efs.enabled -}} +apiVersion: v1 +kind: PersistentVolume +metadata: + name: "{{ .Release.Namespace }}-alfresco-volume" +spec: + capacity: + storage: {{ .Values.persistence.baseSize | quote }} + accessModes: + - ReadWriteMany + nfs: + server: "{{ .Values.persistence.efs.dns }}" + path: "{{ .Values.persistence.efs.path }}" + storageClassName: efs +--- +{{- end -}} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: content-services-database-data +spec: + accessModes: + {{ if .Values.persistence.efs.enabled }} + - ReadWriteMany + volumeName: "{{ .Release.Namespace }}-alfresco-volume" + storageClassName: efs + {{ else }} + - ReadWriteOnce + {{ end }} + resources: + requests: + storage: {{ .Values.database.persistence.size | quote }} +{{- end }} diff --git a/helm/alfresco-content-services/values.yaml b/helm/alfresco-content-services/values.yaml index 45a0d66753..84da8a7a3f 100644 --- a/helm/alfresco-content-services/values.yaml +++ b/helm/alfresco-content-services/values.yaml @@ -67,6 +67,19 @@ solr: limits: memory: "500Mi" +persistence: + enabled: true + baseSize: 10Gi + efs: + enabled: false + dns: fs-example.efs.us-east-1.amazonaws.com + path: "/" + +database: + type: postgresql + persistence: + size: 2Gi + postgresql: ## If true, install the postgresql chart alongside Alfresco Content Services enabled: true @@ -76,7 +89,8 @@ postgresql: postgresPassword: alfresco postgresDatabase: alfresco persistence: - enabled: false + existingClaim: "content-services-database-data" + subPath: "alfresco-content-services/database-data" resources: requests: memory: "250Mi" @@ -84,7 +98,4 @@ postgresql: memory: "500Mi" driver: org.postgresql.Driver -database: - type: postgresql - replicaCount: 1 From 3a54c7af5356e552c20067c4cd799a49e0811e5a Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Fri, 23 Feb 2018 14:07:38 +0200 Subject: [PATCH 661/670] PRODDEL-457: update the version of the acs-community-packaging to 6.0.2-ea --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ad812669d5..8b4aab2553 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ - 6.0.1-ea + 6.0.2-ea 5.2.f From 75e94415823b47fae03f4b673f4641202c0e3c7f Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Fri, 23 Feb 2018 12:47:02 +0000 Subject: [PATCH 662/670] [maven-release-plugin] prepare release full-community-packaging-6.0.2.1-ea --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index cadfcd12fc..3cd685ca86 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.2.1-ea ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index b77fa3cfc9..b3be70b361 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.2.1-ea ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index 40361a53ca..2325bed330 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.2.1-ea ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index c554c0f955..fdd64a7842 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.2.1-ea ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 62a45baf1b..5bde6c1f0e 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.2.1-ea ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index 8b4aab2553..d308467bd6 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.3-SNAPSHOT + 6.0.2.1-ea pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - HEAD + full-community-packaging-6.0.2.1-ea diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index c63d15f7d7..903fd8e8b3 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.2.1-ea ../pom.xml pom From e6ca3ddd38040860bed3d696af51a415cedf190b Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Fri, 23 Feb 2018 12:47:10 +0000 Subject: [PATCH 663/670] [maven-release-plugin] prepare for next development iteration --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 3cd685ca86..cadfcd12fc 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.2.1-ea + 6.0.3-SNAPSHOT ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index b3be70b361..b77fa3cfc9 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2.1-ea + 6.0.3-SNAPSHOT ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index 2325bed330..40361a53ca 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2.1-ea + 6.0.3-SNAPSHOT ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index fdd64a7842..c554c0f955 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.2.1-ea + 6.0.3-SNAPSHOT ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 5bde6c1f0e..62a45baf1b 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.2.1-ea + 6.0.3-SNAPSHOT ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index d308467bd6..8b4aab2553 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.2.1-ea + 6.0.3-SNAPSHOT pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - full-community-packaging-6.0.2.1-ea + HEAD diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index 903fd8e8b3..c63d15f7d7 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.2.1-ea + 6.0.3-SNAPSHOT ../pom.xml pom From 8b73d09a8eec7d0996d7ba615d38efba078d408a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 23 Feb 2018 21:32:28 +0000 Subject: [PATCH 664/670] Pick up acs-community-packaging 6.0.3-ea --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8b4aab2553..acdf18047c 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ - 6.0.2-ea + 6.0.3-ea 5.2.f From 967fe83b3bc7c13c10650ea215c71d2d6c88d830 Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Sat, 24 Feb 2018 10:51:04 +0000 Subject: [PATCH 665/670] [maven-release-plugin] prepare release full-community-packaging-6.0.3-ea --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index cadfcd12fc..8024c1e709 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.3-ea ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index b77fa3cfc9..4e4a12e294 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.3-ea ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index 40361a53ca..6db17fb9c3 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.3-ea ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index c554c0f955..5184868c58 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.3-ea ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 62a45baf1b..517b5c79d3 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.3-ea ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index acdf18047c..8a7cb192ae 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.3-SNAPSHOT + 6.0.3-ea pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - HEAD + full-community-packaging-6.0.3-ea diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index c63d15f7d7..d9b68a955a 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.3-SNAPSHOT + 6.0.3-ea ../pom.xml pom From 02d950d0ac17dd8b010d70bd4eb4e718043c2c8c Mon Sep 17 00:00:00 2001 From: alfresco-build Date: Sat, 24 Feb 2018 10:51:11 +0000 Subject: [PATCH 666/670] [maven-release-plugin] prepare for next development iteration --- distribution/pom.xml | 2 +- docker-alfresco/pom.xml | 2 +- docker-share/pom.xml | 2 +- installer-resources/pom.xml | 2 +- installer/pom.xml | 2 +- pom.xml | 4 ++-- public-javadoc/pom.xml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 8024c1e709..9691a05a27 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.3-ea + 6.0.4-SNAPSHOT ../pom.xml alfresco-content-services-community-full-distribution diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml index 4e4a12e294..eac9c59af6 100644 --- a/docker-alfresco/pom.xml +++ b/docker-alfresco/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-ea + 6.0.4-SNAPSHOT ../pom.xml diff --git a/docker-share/pom.xml b/docker-share/pom.xml index 6db17fb9c3..28721647fa 100644 --- a/docker-share/pom.xml +++ b/docker-share/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-ea + 6.0.4-SNAPSHOT ../pom.xml diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml index 5184868c58..d004364d61 100644 --- a/installer-resources/pom.xml +++ b/installer-resources/pom.xml @@ -7,7 +7,7 @@ org.alfresco full-community-packaging - 6.0.3-ea + 6.0.4-SNAPSHOT ../pom.xml diff --git a/installer/pom.xml b/installer/pom.xml index 517b5c79d3..729548b4d3 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -3,7 +3,7 @@ org.alfresco full-community-packaging - 6.0.3-ea + 6.0.4-SNAPSHOT ../pom.xml alfresco-content-services-community-full-installer diff --git a/pom.xml b/pom.xml index 8a7cb192ae..020f5770a1 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 6 full-community-packaging - 6.0.3-ea + 6.0.4-SNAPSHOT pom Alfresco Content Services Community Full Packaging @@ -14,7 +14,7 @@ scm:git:git@github.com:Alfresco/acs-community-full-packaging.git scm:git:git@github.com:Alfresco/acs-community-full-packaging.git https://github.com/Alfresco/acs-community-full-packaging - full-community-packaging-6.0.3-ea + HEAD diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml index d9b68a955a..de218a1014 100644 --- a/public-javadoc/pom.xml +++ b/public-javadoc/pom.xml @@ -5,7 +5,7 @@ org.alfresco full-community-packaging - 6.0.3-ea + 6.0.4-SNAPSHOT ../pom.xml pom From bd6dffb8efb68f03648131d1936c6b4dff75a734 Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Tue, 27 Feb 2018 11:44:28 +0200 Subject: [PATCH 667/670] DEPLOY-377: Renamed pvs and set default reclaim policy --- helm/alfresco-content-services/templates/pvc.yaml | 12 ++++++------ helm/alfresco-content-services/values.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/helm/alfresco-content-services/templates/pvc.yaml b/helm/alfresco-content-services/templates/pvc.yaml index b0248bde70..478d9acf8d 100644 --- a/helm/alfresco-content-services/templates/pvc.yaml +++ b/helm/alfresco-content-services/templates/pvc.yaml @@ -1,14 +1,15 @@ {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} -{{- if .Values.persistence.efs.enabled -}} +{{- if and .Values.persistence.efs.enabled -}} apiVersion: v1 kind: PersistentVolume metadata: - name: "{{ .Release.Namespace }}-alfresco-volume" + name: content-services-pv spec: capacity: storage: {{ .Values.persistence.baseSize | quote }} accessModes: - ReadWriteMany + persistentVolumeReclaimPolicy: {{ .Values.persistence.reclaimPolicy | default "Delete" }} nfs: server: "{{ .Values.persistence.efs.dns }}" path: "{{ .Values.persistence.efs.path }}" @@ -18,12 +19,11 @@ spec: kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: content-services-database-data + name: content-services-pvc spec: - accessModes: + accessModes: {{ if .Values.persistence.efs.enabled }} - ReadWriteMany - volumeName: "{{ .Release.Namespace }}-alfresco-volume" storageClassName: efs {{ else }} - ReadWriteOnce @@ -31,4 +31,4 @@ spec: resources: requests: storage: {{ .Values.database.persistence.size | quote }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/alfresco-content-services/values.yaml b/helm/alfresco-content-services/values.yaml index 84da8a7a3f..653fd08286 100644 --- a/helm/alfresco-content-services/values.yaml +++ b/helm/alfresco-content-services/values.yaml @@ -89,7 +89,7 @@ postgresql: postgresPassword: alfresco postgresDatabase: alfresco persistence: - existingClaim: "content-services-database-data" + existingClaim: "content-services-pvc" subPath: "alfresco-content-services/database-data" resources: requests: From 5c9115d457c29b0f6f28daf48f09ccceb19f5b77 Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Tue, 27 Feb 2018 16:11:28 +0200 Subject: [PATCH 668/670] DEPLOY-377: Updated default reclaim policy to Recycle and added additional information about persistence in helm notes. --- helm/alfresco-content-services/templates/NOTES.txt | 13 +++++++++++-- helm/alfresco-content-services/templates/pvc.yaml | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/helm/alfresco-content-services/templates/NOTES.txt b/helm/alfresco-content-services/templates/NOTES.txt index 58384621ca..bb73ee9e57 100644 --- a/helm/alfresco-content-services/templates/NOTES.txt +++ b/helm/alfresco-content-services/templates/NOTES.txt @@ -14,6 +14,15 @@ echo "http://$DNSNAME/share" 5. Note: if you deployed on a different namespace than the default one, then the kubectl commands should also specify the namespace to run in with --namespace -6. Depending on the storage you use for volumes you should be able to access the persisted db data in the following locations: +6. Persistent Storage + +Depending on the storage you use for volumes you should be able to access the persisted db data in the following locations: - On minikube the usual location is /tmp/hostpath-provisioning - - With docker-for-desktop the usual location is /Users/YourUser/.docker/Volumes/ \ No newline at end of file + - With docker-for-desktop the usual location is /Users/YourUser/.docker/Volumes/ + +If you choose to use EFS for persistence keep in mind that the persistent volume created has the ReclaimPolicy set to Recycle. +This means that by default, when you delete the release the saved data is deleted automatically. + +To change this behaviour and keep the data you can set the persistence.reclaimPolicy value to Retain. + +For more Information on Reclaim Policies checkout the official K8S documentation here -> https://kubernetes.io/docs/concepts/storage/persistent-volumes/#reclaim-policy diff --git a/helm/alfresco-content-services/templates/pvc.yaml b/helm/alfresco-content-services/templates/pvc.yaml index 478d9acf8d..c7f9d73b7f 100644 --- a/helm/alfresco-content-services/templates/pvc.yaml +++ b/helm/alfresco-content-services/templates/pvc.yaml @@ -9,7 +9,7 @@ spec: storage: {{ .Values.persistence.baseSize | quote }} accessModes: - ReadWriteMany - persistentVolumeReclaimPolicy: {{ .Values.persistence.reclaimPolicy | default "Delete" }} + persistentVolumeReclaimPolicy: {{ .Values.persistence.reclaimPolicy | default "Recycle" }} nfs: server: "{{ .Values.persistence.efs.dns }}" path: "{{ .Values.persistence.efs.path }}" From 04c81bae7aa90cab9161616c2de87a23693d6756 Mon Sep 17 00:00:00 2001 From: Sergiu-Alexandru Vidrascu Date: Thu, 1 Mar 2018 12:33:41 +0200 Subject: [PATCH 669/670] DEPLOY-377: - removed pvc - updated readme and helm notes to specify infrastructure dependency - set default claim for postgres --- README.md | 22 +++++++++--- .../templates/NOTES.txt | 30 +++++----------- .../templates/pvc.yaml | 34 ------------------- helm/alfresco-content-services/values.yaml | 12 +------ 4 files changed, 28 insertions(+), 70 deletions(-) delete mode 100644 helm/alfresco-content-services/templates/pvc.yaml diff --git a/README.md b/README.md index 38a10f284e..846049e2a7 100644 --- a/README.md +++ b/README.md @@ -36,20 +36,34 @@ Build and start Alfresco Content Services Community using docker-compose or Kube ### Kubernetes Instructions: #### Prerequisite: -* A minikube/aws k8s cluster up and ready (minimum 5GB memory) +* Deploy the infrastructure chart as specified in https://github.com/Alfresco/alfresco-infrastructure-deployment * Access to docker-internal.alfresco.com and quay.io repositories - Platform Services team is working on getting the images in [Docker Hub](https://hub.docker.com/u/alfresco/) registry. * A kubernetes secret (quay-registry-secret) with the above mentioned credentials created in your cluster. +**Note!** You do not need to pull this repo in order to deploy Alfresco Content Services in Kubernetes + #### Steps -1. Go to **helm** folder -2. Run ```helm dependency update alfresco-content-services && helm install alfresco-content-services``` +1. Run ```helm repo add alfresco-incubator http://kubernetes-charts.alfresco.com/incubator``` to add the Alfresco Kubernetes repository to helm. +2. Deploy Alfresco Content Services: + +```bash +#On MINIKUBE +helm install alfresco-incubator/alfresco-content-services \ +--set dnsaddress="http://$ELBADDRESS:$INFRAPORT" \ +--namespace=$DESIREDNAMESPACE +#On AWS +helm install alfresco-incubator/alfresco-content-services \ +--set dnsaddress="http://$ELBADDRESS" \ +--namespace=$DESIREDNAMESPACE +``` + 3. After deploying the helm chart you will get information for obtaining the URL for repository, share and solr. #### Notes: * The images used in the alfresco-content-services/values.yml are images that are built in the 'docker-alfresco' and 'docker-share' subfolders of the project - see the relevant sections below. * If you don't have access to the docker-internal.alfresco.com and quay.io images, or if you want custom data in your docker images, you can use the 'docker-alfresco' and 'docker-share' folders to customize and build your customized docker images that are used in the docker-compose project. Just make sure you build them in the minikube docker environment and update the alfresco-content-services/values.yml with the tags that you created. -* You can also change those values when deploying the helm chart by running ```helm install alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"```. +* You can also change those values when deploying the helm chart by running ```helm install alfresco-incubator/alfresco-content-services --set repository.image.tag="yourTag" --set share.image.tag="yourTag"```. * Hint: Run ```eval $(minikube docker-env)``` to switch to your minikube docker environment on osx. ## Docker images diff --git a/helm/alfresco-content-services/templates/NOTES.txt b/helm/alfresco-content-services/templates/NOTES.txt index bb73ee9e57..5bffa0a5b2 100644 --- a/helm/alfresco-content-services/templates/NOTES.txt +++ b/helm/alfresco-content-services/templates/NOTES.txt @@ -1,28 +1,16 @@ -1. Get the share application URL by running these commands: -IP=$(minikube ip) -PORT=$(kubectl get services {{ .Release.Name }}-nginx-ingress-controller -o jsonpath={.spec.ports[0].nodePort}) -echo "http://$IP:$PORT/share" +{{ if .Values.dnsaddress }} -2. To access Repository go to /alfresco path with the same base URL -3. To access Solr go to /solr path with the same base URL +You can access all components of Alfresco Content Services using the same root address, but different paths as follows: -4. If you deployed on an AWS cluster you can get the route53 entry for the cluster as follows: + Content: {{ .Values.dnsaddress }}/alfresco + Share: {{ .Values.dnsaddress }}/share + Solr: {{ .Values.dnsaddress }}/solr -DNSNAME=$(kubectl get services {{ .Release.Name }}-nginx-ingress-controller -o jsonpath={.status.loadBalancer.ingress[0].hostname}) -echo "http://$DNSNAME/share" +{{ else }} -5. Note: if you deployed on a different namespace than the default one, then the kubectl commands should also specify the namespace to run in with --namespace +If you have a specific DNS address for the cluster please run the following commands to get the application paths: -6. Persistent Storage +helm upgrade --reuse-values {{ .Release.Name }} --set dnsaddress="Your DNS address ex: http://myenv.com" alfresco-incubator/alfresco-content-services -Depending on the storage you use for volumes you should be able to access the persisted db data in the following locations: - - On minikube the usual location is /tmp/hostpath-provisioning - - With docker-for-desktop the usual location is /Users/YourUser/.docker/Volumes/ - -If you choose to use EFS for persistence keep in mind that the persistent volume created has the ReclaimPolicy set to Recycle. -This means that by default, when you delete the release the saved data is deleted automatically. - -To change this behaviour and keep the data you can set the persistence.reclaimPolicy value to Retain. - -For more Information on Reclaim Policies checkout the official K8S documentation here -> https://kubernetes.io/docs/concepts/storage/persistent-volumes/#reclaim-policy +{{ end }} diff --git a/helm/alfresco-content-services/templates/pvc.yaml b/helm/alfresco-content-services/templates/pvc.yaml deleted file mode 100644 index c7f9d73b7f..0000000000 --- a/helm/alfresco-content-services/templates/pvc.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} -{{- if and .Values.persistence.efs.enabled -}} -apiVersion: v1 -kind: PersistentVolume -metadata: - name: content-services-pv -spec: - capacity: - storage: {{ .Values.persistence.baseSize | quote }} - accessModes: - - ReadWriteMany - persistentVolumeReclaimPolicy: {{ .Values.persistence.reclaimPolicy | default "Recycle" }} - nfs: - server: "{{ .Values.persistence.efs.dns }}" - path: "{{ .Values.persistence.efs.path }}" - storageClassName: efs ---- -{{- end -}} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: content-services-pvc -spec: - accessModes: - {{ if .Values.persistence.efs.enabled }} - - ReadWriteMany - storageClassName: efs - {{ else }} - - ReadWriteOnce - {{ end }} - resources: - requests: - storage: {{ .Values.database.persistence.size | quote }} -{{- end }} \ No newline at end of file diff --git a/helm/alfresco-content-services/values.yaml b/helm/alfresco-content-services/values.yaml index 653fd08286..9d81af9e9f 100644 --- a/helm/alfresco-content-services/values.yaml +++ b/helm/alfresco-content-services/values.yaml @@ -67,18 +67,8 @@ solr: limits: memory: "500Mi" -persistence: - enabled: true - baseSize: 10Gi - efs: - enabled: false - dns: fs-example.efs.us-east-1.amazonaws.com - path: "/" - database: type: postgresql - persistence: - size: 2Gi postgresql: ## If true, install the postgresql chart alongside Alfresco Content Services @@ -89,7 +79,7 @@ postgresql: postgresPassword: alfresco postgresDatabase: alfresco persistence: - existingClaim: "content-services-pvc" + existingClaim: "alfresco-volume-claim" subPath: "alfresco-content-services/database-data" resources: requests: From ffe834f2f11a1c28bb0b490506b7e2d4fd40702a Mon Sep 17 00:00:00 2001 From: Andrei Rebegea Date: Fri, 9 Mar 2018 15:55:27 +0200 Subject: [PATCH 670/670] REPO-3335: prepare for merge with acs-community-packaging --- CONTRIBUTING.md | 16 - LICENSE | 165 -- installer-resources/pom.xml | 14 - .../resources/bitrock/alfresco-aos-module.xml | 63 - .../resources/bitrock/alfresco-apply-amps.xml | 65 - .../bitrock/alfresco-build-settings.xml | 81 - .../alfresco-componentselection-java.xml | 8 - .../alfresco-customstack-build-settings.xml | 53 - ...alfresco-customstack-postgres-settings.xml | 362 --- .../alfresco-customstack-shortcuts.xml | 79 - .../alfresco-customstack-validations.xml | 265 --- .../resources/bitrock/alfresco-functions.xml | 485 ---- .../resources/bitrock/alfresco-googledocs.xml | 40 - .../bitrock/alfresco-libreoffice.xml | 41 - .../resources/bitrock/alfresco-license.xml | 57 - .../alfresco-linux-x64-20140918-versions.txt | 36 - .../alfresco-osx-x64-20140918-versions.txt | 33 - .../bitrock/alfresco-pdf-renderer.xml | 82 - .../bitrock/alfresco-postgres-question.xml | 108 - .../resources/bitrock/alfresco-readme.xml | 28 - .../main/resources/bitrock/alfresco-solr.xml | 59 - .../main/resources/bitrock/alfresco-solr4.xml | 76 - .../main/resources/bitrock/alfresco-wcmqs.xml | 96 - .../alfresco-windows-20140918-versions.txt | 19 - ...alfresco-windows-x64-20140918-versions.txt | 19 - .../src/main/resources/bitrock/alfresco.sh | 1322 ----------- .../bitrock/alfrescodm-postgres-database.xml | 39 - .../src/main/resources/bitrock/alfrescodm.xml | 551 ----- .../main/resources/bitrock/base-functions.xml | 2055 ----------------- .../resources/bitrock/base-java-settings.xml | 38 - .../main/resources/bitrock/base-licenses.xml | 25 - .../resources/bitrock/base-parameter-dir.xml | 401 ---- .../bitrock/base-tomcat-settings.xml | 12 - .../resources/bitrock/base-unix-service.xml | 651 ------ .../bitrock/base-write-properties.xml | 76 - .../alfresco/commands/Win32NetBIOS.dll | Bin 81920 -> 0 bytes .../alfresco/commands/Win32NetBIOSx64.dll | Bin 83968 -> 0 bytes .../bitrock/alfresco/commands/Win32Utils.dll | Bin 53248 -> 0 bytes .../alfresco/commands/Win32Utilsx64.dll | Bin 47616 -> 0 bytes .../bitrock/alfresco/commands/apply_amps.bat | 42 - .../bitrock/alfresco/commands/apply_amps.sh | 62 - .../alfresco/commands/clean_tomcat.bat | 13 - .../bitrock/alfresco/commands/clean_tomcat.sh | 10 - .../alfresco/shared/ServerInfo.properties | 2 - .../shared/alfresco-global.properties | 71 - .../bitrock/alfresco/shared/server.xml | 146 -- .../bitrock/alfresco/shared/tomcat-users.xml | 21 - .../web-extension/share-config-custom.xml | 516 ----- .../src/main/resources/bitrock/common.xml | 319 --- .../src/main/resources/bitrock/ctlscript.xml | 166 -- .../main/resources/bitrock/imagemagick.xml | 284 --- .../resources/bitrock/images/alfresco.icns | Bin 246656 -> 0 bytes .../resources/bitrock/images/alfresco.ico | Bin 353118 -> 0 bytes .../resources/bitrock/images/alfresco.png | Bin 4288 -> 0 bytes .../bitrock/images/alfresco_left.png | Bin 46182 -> 0 bytes .../bitrock/images/alfresco_top_right.png | Bin 7588 -> 0 bytes .../main/resources/bitrock/images/splash.png | Bin 55140 -> 0 bytes .../resources/bitrock/java-properties.xml | 36 - .../src/main/resources/bitrock/java.xml | 277 --- .../src/main/resources/bitrock/lang/alf-de.po | 683 ------ .../src/main/resources/bitrock/lang/alf-en.po | 683 ------ .../src/main/resources/bitrock/lang/alf-es.po | 683 ------ .../src/main/resources/bitrock/lang/alf-fr.po | 683 ------ .../src/main/resources/bitrock/lang/alf-it.po | 683 ------ .../src/main/resources/bitrock/lang/alf-ja.po | 683 ------ .../main/resources/bitrock/lang/alf-nb_NO.po | 683 ------ .../src/main/resources/bitrock/lang/alf-nl.po | 683 ------ .../main/resources/bitrock/lang/alf-pt_BR.po | 683 ------ .../src/main/resources/bitrock/lang/alf-ru.po | 683 ------ .../main/resources/bitrock/lang/alf-zh_CN.po | 683 ------ .../bitrock/libreoffice-validations.xml | 110 - .../main/resources/bitrock/libreoffice.xml | 293 --- .../licenses/alfresco.trial.agreement-en.txt | 23 - .../src/main/resources/bitrock/manager.xml | 75 - .../src/main/resources/bitrock/openssl.xml | 126 - .../src/main/resources/bitrock/pdfium.xml | 82 - .../resources/bitrock/postgres-properties.xml | 107 - .../resources/bitrock/postgres-service.xml | 101 - .../src/main/resources/bitrock/postgres.xml | 1155 --------- .../resources/bitrock/postgres_initdb.xml | 108 - .../src/main/resources/bitrock/project.xml | 631 ----- .../main/resources/bitrock/serviceinstall.bat | 48 - .../src/main/resources/bitrock/servicerun.bat | 53 - .../resources/bitrock/tomcat-functions.xml | 719 ------ .../resources/bitrock/tomcat-imagemagick.xml | 22 - .../main/resources/bitrock/tomcat-java.xml | 21 - .../resources/bitrock/tomcat-properties.xml | 20 - .../main/resources/bitrock/tomcat-service.xml | 207 -- .../src/main/resources/bitrock/tomcat.xml | 687 ------ .../src/main/resources/build-installers.xml | 48 - .../src/main/resources/extract-binaries.xml | 175 -- installer/pom.xml | 367 --- pom.xml | 307 --- 93 files changed, 22483 deletions(-) delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE delete mode 100644 installer-resources/pom.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-functions.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-license.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-readme.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-solr.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-solr4.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt delete mode 100644 installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt delete mode 100755 installer-resources/src/main/resources/bitrock/alfresco.sh delete mode 100644 installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml delete mode 100644 installer-resources/src/main/resources/bitrock/alfrescodm.xml delete mode 100644 installer-resources/src/main/resources/bitrock/base-functions.xml delete mode 100644 installer-resources/src/main/resources/bitrock/base-java-settings.xml delete mode 100644 installer-resources/src/main/resources/bitrock/base-licenses.xml delete mode 100644 installer-resources/src/main/resources/bitrock/base-parameter-dir.xml delete mode 100644 installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml delete mode 100644 installer-resources/src/main/resources/bitrock/base-unix-service.xml delete mode 100644 installer-resources/src/main/resources/bitrock/base-write-properties.xml delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utils.dll delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32Utilsx64.dll delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat delete mode 100755 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml delete mode 100644 installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml delete mode 100755 installer-resources/src/main/resources/bitrock/common.xml delete mode 100644 installer-resources/src/main/resources/bitrock/ctlscript.xml delete mode 100644 installer-resources/src/main/resources/bitrock/imagemagick.xml delete mode 100644 installer-resources/src/main/resources/bitrock/images/alfresco.icns delete mode 100644 installer-resources/src/main/resources/bitrock/images/alfresco.ico delete mode 100644 installer-resources/src/main/resources/bitrock/images/alfresco.png delete mode 100644 installer-resources/src/main/resources/bitrock/images/alfresco_left.png delete mode 100644 installer-resources/src/main/resources/bitrock/images/alfresco_top_right.png delete mode 100644 installer-resources/src/main/resources/bitrock/images/splash.png delete mode 100644 installer-resources/src/main/resources/bitrock/java-properties.xml delete mode 100644 installer-resources/src/main/resources/bitrock/java.xml delete mode 100755 installer-resources/src/main/resources/bitrock/lang/alf-de.po delete mode 100755 installer-resources/src/main/resources/bitrock/lang/alf-en.po delete mode 100755 installer-resources/src/main/resources/bitrock/lang/alf-es.po delete mode 100755 installer-resources/src/main/resources/bitrock/lang/alf-fr.po delete mode 100755 installer-resources/src/main/resources/bitrock/lang/alf-it.po delete mode 100755 installer-resources/src/main/resources/bitrock/lang/alf-ja.po delete mode 100644 installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po delete mode 100644 installer-resources/src/main/resources/bitrock/lang/alf-nl.po delete mode 100644 installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po delete mode 100644 installer-resources/src/main/resources/bitrock/lang/alf-ru.po delete mode 100644 installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po delete mode 100644 installer-resources/src/main/resources/bitrock/libreoffice-validations.xml delete mode 100644 installer-resources/src/main/resources/bitrock/libreoffice.xml delete mode 100644 installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt delete mode 100644 installer-resources/src/main/resources/bitrock/manager.xml delete mode 100644 installer-resources/src/main/resources/bitrock/openssl.xml delete mode 100644 installer-resources/src/main/resources/bitrock/pdfium.xml delete mode 100644 installer-resources/src/main/resources/bitrock/postgres-properties.xml delete mode 100644 installer-resources/src/main/resources/bitrock/postgres-service.xml delete mode 100644 installer-resources/src/main/resources/bitrock/postgres.xml delete mode 100644 installer-resources/src/main/resources/bitrock/postgres_initdb.xml delete mode 100644 installer-resources/src/main/resources/bitrock/project.xml delete mode 100644 installer-resources/src/main/resources/bitrock/serviceinstall.bat delete mode 100644 installer-resources/src/main/resources/bitrock/servicerun.bat delete mode 100644 installer-resources/src/main/resources/bitrock/tomcat-functions.xml delete mode 100644 installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml delete mode 100755 installer-resources/src/main/resources/bitrock/tomcat-java.xml delete mode 100644 installer-resources/src/main/resources/bitrock/tomcat-properties.xml delete mode 100644 installer-resources/src/main/resources/bitrock/tomcat-service.xml delete mode 100644 installer-resources/src/main/resources/bitrock/tomcat.xml delete mode 100644 installer-resources/src/main/resources/build-installers.xml delete mode 100644 installer-resources/src/main/resources/extract-binaries.xml delete mode 100644 installer/pom.xml delete mode 100644 pom.xml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 8d059e27ca..0000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,16 +0,0 @@ -### Contributing -Thanks for your interest in contributing to this project! - -The following is a set of guidelines for contributing to this library. Most of them will make the life of the reviewer easier and therefore decrease the time required for the patch be included in the next version. - -Because this project forms a part of Alfresco Content Services, the guidelines are hosted in the [Alfresco Social Community](http://community.alfresco.com/community/ecm) where they can be referenced from multiple projects. - -Read an [overview on how this project is goverened](https://community.alfresco.com/docs/DOC-6385-project-overview-repository). - -You can report an issue in the ALF project of the [Alfresco issue tracker](http://issues.alfresco.com). - -Read [instructions for a good issue report](https://community.alfresco.com/docs/DOC-6263-reporting-an-issue). - -Read [instructions for making a contribution](https://community.alfresco.com/docs/DOC-6269-submitting-contributions). - -Please follow [the coding standards](https://community.alfresco.com/docs/DOC-4658-coding-standards). diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 65c5ca88a6..0000000000 --- a/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/installer-resources/pom.xml b/installer-resources/pom.xml deleted file mode 100644 index d004364d61..0000000000 --- a/installer-resources/pom.xml +++ /dev/null @@ -1,14 +0,0 @@ - - 4.0.0 - alfresco-installer-resources - jar - Alfresco Content Services Installer Resources - - - org.alfresco - full-community-packaging - 6.0.4-SNAPSHOT - ../pom.xml - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml b/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml deleted file mode 100644 index 28b1e1bca4..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-aos-module.xml +++ /dev/null @@ -1,63 +0,0 @@ - - aosmodule - Alfresco Office Services - Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation. - 1 - 1 - 1 - - - - - - - - - - - - - - - - programfiles - Program Files - ${alfresco_amps_directory} - all - - - - - - - - - vtibinwarfile - //War Files - ${installdiralfresco} - - - - - - aosmodulecustomextensions - Program Files - ${alfresco_shared_directory}/alfresco/extension - all - - - - - - - - - aosmodulelicenses - //Alfresco Licenses - ${alfresco_base_application_directory}/licenses - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml b/installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml deleted file mode 100644 index a852d7b94d..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-apply-amps.xml +++ /dev/null @@ -1,65 +0,0 @@ - - alfrescoapplyamps - //Alfresco Apply AMPs - 1 - 1 - 0 - - - - - - - - - //applyamps - alfrescoapplyamps - ${installdir} - all - - - - - - - - - //mmtjar - mmtjar - ${alfresco_commands_directory} - - - - - - - - - - Installing Alfresco Module Packages (AMPs) - ${java_home_directory}/bin/java - -jar "${alfresco_commands_directory.unix}/alfresco-mmt.jar" install "${alfresco_amps_directory.unix}" "${installdiralfresco.unix}/alfresco.war" -directory -nobackup -force - - - - - - Installing Alfresco Module Packages (AMPs) - ${java_home_directory}/bin/java - -jar "${alfresco_commands_directory.unix}/alfresco-mmt.jar" install "${alfresco_amps_share_directory.unix}" "${installdiralfresco.unix}/share.war" -directory -nobackup -force - - - - - - or - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml b/installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml deleted file mode 100644 index ea36b4911f..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-build-settings.xml +++ /dev/null @@ -1,81 +0,0 @@ - - alfrescobuildsettings - //Alfresco Build Settings - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml b/installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml deleted file mode 100644 index 0c4cd67f0e..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-componentselection-java.xml +++ /dev/null @@ -1,8 +0,0 @@ - - javaalfresco - Java - 1 - Java Component required to run ${product_fullname}. - 1 - 1 - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml deleted file mode 100644 index 510d35a390..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-customstack-build-settings.xml +++ /dev/null @@ -1,53 +0,0 @@ - - alfrescocustombuildsettings - //Alfresco Custom Build Settings - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml deleted file mode 100644 index 57534b6ef6..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-customstack-postgres-settings.xml +++ /dev/null @@ -1,362 +0,0 @@ - - alfrescocustomstacksettings - //Alfresco Custom Stack Settings - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++JvmOptions="-XX:+DisableExplicitGC" ++JvmOptions="-XX:+UseConcMarkSweepGC" ++JvmOptions="-XX:+UseParNewGC" ++JvmOptions="-XX:ReservedCodeCacheSize=128m" ++JvmOptions="-Dalfresco.home=@@BITROCK_INSTALLDIR@@" - - - --JvmMs 512 --JvmMx ${java_xmx_setting} - - - - - - - - - - - and - - - - - - - - - - - - - - - - - - - - - - - - - - - - and - - - - - - - - - - - - - - - - - and - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - alfrescocustomstack_installation_type - Installation Type - easy - - 0 - radiobuttons - components - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - alfrescocustomstack_services_startup - Service Startup Configuration - demand - Select services startup type. - radiobuttons - readytoinstall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml deleted file mode 100644 index 533143607a..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-customstack-shortcuts.xml +++ /dev/null @@ -1,79 +0,0 @@ - - shortcuts - //Shortcuts - 0 - 1 - 0 - - - Alfresco Website - Alfresco Website - http://www.alfresco.com - - - - Alfresco Share - Alfresco Share - http://${application_server_domain}:${application_server_port}/share - - - - Uninstall ${product_fullname} - Uninstall ${product_fullname} - ${installdir}\uninstall.exe - - - ${installdir} - - - ${product_fullname} Service - windows - - - Install ${product_fullname} as service - Install ${product_fullname} as service - ${installdir}/serviceinstall.bat - INSTALL - ${installdir}/alfresco.ico - ${installdir}/ - - - 1 - Start ${product_fullname} service - Start ${product_fullname} service - ${installdir}/servicerun.bat - START - ${installdir}/alfresco.ico - ${installdir}/ - - - 1 - Stop ${product_fullname} service - Stop ${product_fullname} service - ${installdir}/servicerun.bat - STOP - ${installdir}/alfresco.ico - ${installdir}/ - - - Uninstall ${product_fullname} service - Uninstall ${product_fullname} service - ${installdir}/serviceinstall.bat - UNINSTALL - ${installdir}/alfresco.ico - ${installdir}/ - - - - - - - Shortcuts Images - ${installdir} - alfrescoicon - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml b/installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml deleted file mode 100644 index e4084316af..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-customstack-validations.xml +++ /dev/null @@ -1,265 +0,0 @@ - - alfrescovalidations - //Validations - - 1 - 0 - - - - - Select at least one of the Solr components. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This installer is for Windows 64 bit. Download the Windows 32 bit version. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - machine_cpu_speed recommended_cpu_speed - - - - - - - - - less - ${machine_cpu_speed} - ${recommended_cpu_speed} - - - - - - - - less - ${machine_cpu_count} - ${minimum_core_count} - - - - - - machine_total_memory minimum_ram recommended_ram - - - - - - - ${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM. - - - less - ${machine_total_memory} - ${minimum_ram} - - - - - - - less - ${machine_total_memory} - ${recommended_ram} - - - greater_or_equal - ${machine_total_memory} - ${minimum_ram} - - - - - - -      - - - - - - - - - - - ${netbd_port} ${netbd_port_1} - - - - - - - - - - - - - - - - - ${netbd_port} ${netbd_port_2} ${smb_port} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - netbd_ports - CIFS protocol ports configuration - Enter CIFS ports configuration. - 0 - - - CIFS server port - - - CIFS server port 1 - - - CIFS server port 2 - - - SMB Port - - - - - SMTP Port - - - IMAP Port - - - alfresco_report - Warning - This environment is not configured optimally for Alfresco Content Services - review this list before continuing. - -While these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally. - - readytoinstall - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-functions.xml b/installer-resources/src/main/resources/bitrock/alfresco-functions.xml deleted file mode 100644 index b5e8bff551..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-functions.xml +++ /dev/null @@ -1,485 +0,0 @@ - - alfrescofunctions - //Alfresco Functions - 0 - 1 - 0 - - - - - - - - - - ${configurationFile} - - - #\s*${property}\s*= - ${property}= - - - - - ${configurationFile} - ${property} - ${value} - - - - - - - - - - - - imagemagick_root_directory_windows - / - \ - ${imagemagick_root_directory} - - - - - - alfresco_pdf_renderer_root_directory_windows - / - \ - ${alfresco_pdf_renderer_root_directory} - - - - - - ${alfrescoFiles} - - - @@BITROCK_INSTALLDIR@@ - ${installdir} - - - @@ALFRESCO_DATA_DIR@@ - ${alfresco_data_directory} - - - @@ALFRESCO_SOLR_DIR@@ - ${alfresco_data_directory.dos.unix}/solr - - - @@ALFRESCO_SOLR4_DIR@@ - ${installdir.unix}/solr4 - - - @@ALFRESCO_SOLR4_DATA_DIR@@ - ${alfresco_data_directory.unix}/solr4/index - - - @@ALFRESCO_SOLR4_MODEL_DIR@@ - ${alfresco_data_directory.unix}/solr4/model - - - @@ALFRESCO_SOLR4_CONTENT_DIR@@ - ${alfresco_data_directory.unix}/solr4/content - - - @@BITROCK_ALFRESCO_LICENSE_DIR@@ - ${installdir.unix} - - - - - - @@BITROCK_ALFRESCO_LICENSE_DIR@@ - ${installdir.dos.unix} - - - - - - @@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ - img.root=${imagemagick_root_directory.unix} -img.dyn=${'${img.root}'}/lib -img.exe=${'${img.root}'}/bin/convert - - - - - - @@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ - img.root=${imagemagick_root_directory_windows.escape_backslashes} -img.coders=${'${img.root}'}\\modules\\coders -img.config=${'${img.root}'} -img.exe=${'${img.root}'}\\convert.exe - - - - - - @@BITROCK_ALFRESCO_PDF_RENDERER_ENV@@ - alfresco-pdf-renderer.root=${alfresco_pdf_renderer_root_directory.unix} -alfresco-pdf-renderer.exe=${'${alfresco-pdf-renderer.root}'}/alfresco-pdf-renderer - - - - - - @@BITROCK_ALFRESCO_PDF_RENDERER_ENV@@ - alfresco-pdf-renderer.root=${alfresco_pdf_renderer_root_directory_windows.escape_backslashes} -alfresco-pdf-renderer.exe=${'${alfresco-pdf-renderer.root}'}\\alfresco-pdf-renderer.exe - - - - - - @@BITROCK_LO_ROOTDIR@@ - ${libreoffice_directory.unix} - - - - - - @@BITROCK_LO_ROOTDIR@@ - ${libreoffice_directory.dos.unix} - - - - - - @@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ - ${libreoffice_directory.dos.unix}/App/libreoffice/program/soffice.exe - - - - - - @@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ - ${libreoffice_directory}/program/soffice.bin - - - - - - - @@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ - ${libreoffice_directory}/program/soffice - - - - - - - - @@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ - ${libreoffice_directory}/Contents/MacOS/soffice.bin - - - - - - - @@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ - ${libreoffice_directory}/Contents/MacOS/soffice - - - - - - - - @@BITROCK_LIBREOFFICE_JOD_DIR@@ - ${libreoffice_directory.dos.unix}/App/libreoffice - - - - - - @@BITROCK_LIBREOFFICE_JOD_DIR@@ - ${libreoffice_directory} - - - - - - @@BITROCK_LIBREOFFICE_JOD_DIR@@ - ${libreoffice_directory}/Contents - - - - - - @@BITROCK_LO_PORT@@ - ${libreoffice_port} - - - @@BITROCK_MYSQL_PORT@@ - ${database_port} - - - @@BITROCK_MYSQL_HOST@@ - ${database_hostname} - - - @@BITROCK_POSTGRESQL_PORT@@ - ${database_port} - - - @@BITROCK_POSTGRESQL_HOST@@ - ${database_hostname} - - - @@BITROCK_DATA_DIR@@ - ${alfresco_data_directory.dos.unix} - - - @@BITROCK_COMMON_ROOTDIR@@ - ${installdir.dos.unix}/common/ - - - @@BITROCK_DB_USER@@ - ${alfresco_database_user} - - - @@BITROCK_DB_PASSWORD@@ - ${alfresco_database_password} - - - @@BITROCK_DB_NAME@@ - ${alfresco_database_name} - - - @@BITROCK_DB_VALIDATE_QUERY@@ - ${alfresco_database_validate_query} - - - @@BITROCK_ALFRESCO_ADMIN_USERNAME@@ - ${alfresco_admin_username} - - - @@BITROCK_ALFRESCO_ADMIN_PASSWORD@@ - ${alfresco_admin_password_md4} - - - @@BITROCK_ALFRESCO_PLAIN_ADMIN_PASSWORD@@ - ${alfresco_admin_password} - - - @@BITROCK_FTP_PORT@@ - ${alfresco_ftp_port} - - - @@BITROCK_RMI_PORT@@ - ${alfresco_rmi_port} - - - @@BITROCK_TOMCAT_PORT@@ - ${application_server_port} - - - @@BITROCK_APACHE_PORT@@ - ${web_server_port} - - - @@BITROCK_TOMCAT_SSL_PORT@@ - ${application_server_ssl_port} - - - @@BITROCK_TOMCAT_SHUTDOWN_PORT@@ - ${application_server_shutdown_port} - - - @@BITROCK_TOMCAT_AJP_PORT@@ - ${application_server_ajp_port} - - - @@BITROCK_TOMCAT_HOST@@ - ${application_server_domain} - - - @@BITROCK_QUICKR_PORT@@ - ${alfresco_quickr_port} - - - @@BITROCK_QUICKR_HOST@@ - ${alfresco_quickr_host} - - - @@BITROCK_TOMCAT_DIRNAME@@ - ${tomcat_dirname} - - - @@BITROCK_TOMCAT_ROOTDIR@@ - ${tomcat_server_directory} - - - @@BITROCK_JAVA_HOME_UNIX@@ - ${java_home_directory.unix} - - - @@BITROCK_JAVA_HOME_WIN@@ - ${java_home_directory.dos} - - - - - - - - - - - - or - - - - - - - - - - - - - - - - - - - 0 - 1 - This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again. - 0 - - - ${javaRequiredJdk} - - ${java_min_version} - sun - - - ${javaRequiredJdk} - - ${java_min_version} - openjdk - - - - - - - - - - - - - - 0 - 1 - The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the “Java” component is selected. - - - - - - - - 1 - 1 - This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again. - 0 - - - ${javaRequiredJdk} - - ${java_min_version} - sun - - - ${javaRequiredJdk} - - ${java_min_version} - openjdk - - - - - - - - - java_home_directory - ${java_executable} - /bin/java$ - - - - - - - java_home_directory - - ${java_executable} - /bin/java.exe$ - - - - - - - java_home_directory - ${java_home_directory} - /jre$ - - - - - - java_home_directory - /usr/local/java - - - - - - - java_home_directory - ${platform_install_prefix}\java - - - - - - - Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces. - - - ${java_home_directory} - contains - - - - - - - - - - or - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml b/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml deleted file mode 100644 index 7329d91857..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-googledocs.xml +++ /dev/null @@ -1,40 +0,0 @@ - - alfrescogoogledocs - Google Docs Integration - Include Google Docs Integration Features. - 1 - 1 - 1 - - - - - - - - - Program Files - ${alfresco_amps_directory} - googledocs - all - - - - - - - - - Program Files - ${alfresco_amps_share_directory} - googledocsshare - all - - - - - - - - - \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml b/installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml deleted file mode 100644 index 91e4c67d4e..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-libreoffice.xml +++ /dev/null @@ -1,41 +0,0 @@ - - alfrescolibreoffice - //AlfrescoLibreOffice - 0 - 1 - 0 - - - - - - ${alfresco_base_application_directory}/libreoffice-envdata.sh - #!/bin/sh -# Libre Office -SOFFICE_PATH="${libreoffice_directory}/program" -SOFFICE_PORT="${libreoffice_port}" -SOFFICEBIN=${libreoffice_directory}/program/.soffice.bin -SOFFICEWRAPPER=${libreoffice_directory}/program/soffice.bin -SOFFICE_ENVDATA="-env:UserInstallation=file://${alfresco_data_directory}/oouser" -SOFFICE="$SOFFICEWRAPPER --nofirststartwizard --nologo --headless $SOFFICE_ENVDATA --accept=socket,host=localhost,port=$SOFFICE_PORT\;urp\;StarOffice.ServiceManager" - -$SOFFICE >/dev/null 2>&1 & -sleep 5 -pids=`ps ax | grep $SOFFICEBIN | grep -v grep | awk {'print $1'}` -if kill $pids ; then - echo "libreoffice stopped" -fi - - - - - ${alfresco_base_application_directory}/libreoffice-envdata.sh - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-license.xml b/installer-resources/src/main/resources/bitrock/alfresco-license.xml deleted file mode 100644 index 186b752637..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-license.xml +++ /dev/null @@ -1,57 +0,0 @@ - - alfrescolicense - //Alfresco License Component - 1 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - ${installer_directory}/*.lic - ${installdir} - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt deleted file mode 100644 index 9d367ad6d8..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-linux-x64-20140918-versions.txt +++ /dev/null @@ -1,36 +0,0 @@ -alfresco Stack - 20140918 -gcc 3.4.6 -java 1.6.0_45 -pkg-config 0.22 -libtool 1.5.8 -make 3.81 -zlib 1.2.3 -giflib 4.1.6 -libiconv 1.11 -libpng 1.2.24 -jpegsrc 6b -tiff 3.9.4 -freetype 2.3.4 -libwmf 0.2.8.4 -imagemagick 6.8.6-6 -libstdcplusplus 0 -ncurses 5.6 -readline 5.2 -openssl 0.9.8y -apr 1.4.6 -tomcat-native 1.1.29 -postgresql 9.3.5 -libreoffice 4.2.5 -manager 1 -java 1.7.0_67 -tomcat 7.0.53 -bitrock-alfresco 20130409 -alfresco 5.0.a -alfrescosharepoint 4.2.e -alfrescowcmqs 3.4.b -keystore 20111026 -alfresco-solr 4.2.e -alfresco-solr4 4.2.e -bitnami -japanese-fonts 1 -xpdf-japanese 1 diff --git a/installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt deleted file mode 100644 index 8552265747..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-osx-x64-20140918-versions.txt +++ /dev/null @@ -1,33 +0,0 @@ -alfresco Stack - 20140918 -pkg-config 0.22 -libtool 1.5.8 -make 3.81 -zlib 1.2.3 -libiconv 1.11 -libpng 1.2.24 -jpegsrc 6b -tiff 3.9.4 -freetype 2.3.4 -libwmf 0.2.8.4 -imagemagick 6.8.6-6 -libstdcplusplus 0 -ncurses 5.6 -readline 5.2 -openssl 0.9.8y -apr 1.4.6 -tomcat-native 1.1.29 -postgresql 9.3.5 -libreoffice 4.2.5 -manager 1 -java 1.7.0_67 -tomcat 7.0.53 -bitrock-alfresco 20130409 -alfresco 5.0.a -alfrescosharepoint 4.2.e -alfrescowcmqs 3.4.b -keystore 20111026 -alfresco-solr 4.2.e -alfresco-solr4 4.2.e -bitnami -japanese-fonts 1 -xpdf-japanese 1 diff --git a/installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml b/installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml deleted file mode 100644 index 493f96eb54..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-pdf-renderer.xml +++ /dev/null @@ -1,82 +0,0 @@ - - alfresco_pdf_renderer - alfresco_pdf_renderer - 0 - 0 - 1 - - - - 0 - alfresco_pdf_renderer_root_directory - alfresco_pdf_renderer_root_directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##### ALFRESCO_PDF_RENDERER ENV ##### -ALFRESCO_PDF_RENDERER_VAR="${alfresco_pdf_renderer_root_directory}" -export ALFRESCO_PDF_RENDERER_VAR - - - - - - - - rem ##### ALFRESCO_PDF_RENDERER ENV ##### -set ALFRESCO_PDF_RENDERER_VAR=${alfresco_pdf_renderer_root_directory} - - - - - - - ${ALFRESCO_PDF_RENDERER_VAR}${ENV_VAR} - - - - - - alfresco_pdf_renderer - ${alfresco_pdf_renderer_root_directory} - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml b/installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml deleted file mode 100644 index 7cbe4f30fe..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-postgres-question.xml +++ /dev/null @@ -1,108 +0,0 @@ - - alfrescopostgresquestion - //Alfresco PostgreSQL Question - 1 - 0 - - - - - - alfrescopostgresquestion_existing - Database Configuration - - - - jdbc_url - JDBC URL: - jdbc:postgresql://localhost/alfresco - - - jdbc_driver - JDBC Driver: - org.postgresql.Driver - - - jdbc_database - Database name: - alfresco - - - jdbc_username - Username: - - - - jdbc_password - Password: - Verify: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${application_server_directory}/scripts/serviceinstall.bat - - - sc start - rem sc start - - - - - - - - - - \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/alfresco-readme.xml b/installer-resources/src/main/resources/bitrock/alfresco-readme.xml deleted file mode 100644 index 77566677f9..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-readme.xml +++ /dev/null @@ -1,28 +0,0 @@ - - readme - //README Folder Component - 1 - 0 - 1 - - - - - - - README File - ${installdir} - readmelogfile - - - - - - - - - - - - - \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/alfresco-solr.xml b/installer-resources/src/main/resources/bitrock/alfresco-solr.xml deleted file mode 100644 index 20a808d0e4..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-solr.xml +++ /dev/null @@ -1,59 +0,0 @@ - - alfrescosolr - Solr1 - Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions. - 1 - 0 - 1 - - - - - - - - - solr - ${alfresco_data_directory}/solr - - - - - - - - ${alfresco_data_directory}/solr/context.xml - ${tomcat_server_directory}/conf/Catalina/localhost/solr.xml - - - - - - - - - ${alfresco_data_directory}/solr/archive-SpacesStore/conf/solrcore.properties;${alfresco_data_directory}/solr/workspace-SpacesStore/conf/solrcore.properties - exact - - - alfresco.port=8080 - alfresco.port=${application_server_port} - - - alfresco.port.ssl=8443 - alfresco.port.ssl=${tomcat_server_ssl_port} - - - - - ${tomcat_server_directory}/scripts/ctl.sh - exact - - - -Dcom.sun.management.jmxremote - -Dcom.sun.management.jmxremote -Dsun.security.ssl.allowUnsafeRenegotiation=true - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-solr4.xml b/installer-resources/src/main/resources/bitrock/alfresco-solr4.xml deleted file mode 100644 index 25ad57e093..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-solr4.xml +++ /dev/null @@ -1,76 +0,0 @@ - - alfrescosolr4 - Solr4 - Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1. - 1 - 1 - 1 - - - - - - - - - //War Files - solr4warfile - ${installdiralfresco} - - - - - - //alf_data - solr4alfdata - ${alfresco_data_directory}/solr4 - - - solr4 - ${installdir}/solr4 - - - - - - - - ${installdir}/solr4/context.xml - ${tomcat_server_directory}/conf/Catalina/localhost/solr4.xml - - - - - - - - - ${installdir}/solr4/archive-SpacesStore/conf/solrcore.properties;${installdir}/solr4/workspace-SpacesStore/conf/solrcore.properties - exact - - - alfresco.port=8080 - alfresco.port=${application_server_port} - - - alfresco.port.ssl=8443 - alfresco.port.ssl=${tomcat_server_ssl_port} - - - - - ${tomcat_server_directory}/scripts/ctl.sh - exact - - - -Dcom.sun.management.jmxremote - -Dcom.sun.management.jmxremote -Dsun.security.ssl.allowUnsafeRenegotiation=true - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml b/installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml deleted file mode 100644 index 07feac1bd7..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-wcmqs.xml +++ /dev/null @@ -1,96 +0,0 @@ - - alfrescowcmqs - Web Quick Start - Include Alfresco Web Quick Start. - 1 - 0 - 1 - - - - - - - - - Program Files - ${alfresco_amps_directory} - wcmqs - all - - - - - - - - - Program Files - ${alfresco_amps_share_directory} - wcmqsshare - all - - - - - - - - - War files - warfiles - ${installdiralfresco} - - - - - - - Configuration Files - ${alfresco_shared_directory}/alfresco/web-extension - awecustomwebextension - all - - - - - - - - - Extension Files - ${alfresco_shared_directory}/alfresco/extension - extensionfiles - all - - - - - - - - ${alfresco_shared_directory}/alfresco/extension/*.properties - regexp - - - #wcmqs.api.alfresco=http://localhost:8080/alfresco - wcmqs.api.alfresco=http://127.0.0.1:${tomcat_server_port}/alfresco - - - #wcmqs.api.password=admin - wcmqs.api.password=${alfresco_admin_password} - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt deleted file mode 100644 index 8237b1d6b9..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-windows-20140918-versions.txt +++ /dev/null @@ -1,19 +0,0 @@ -alfresco Stack - 20140918 -libreoffice 4.2.5 -imagemagick 6.8.6-6-Q8 -xpdf-japanese 1 -openssl 1.0.1i -postgresql 9.3.5-1 -manager 1 -java 1.7.0_67 -tomcat 7.0.53 -bitrock-alfresco 20130409 -alfresco 5.0.a -alfrescosharepoint 4.2.e -alfrescowcmqs 3.4.b -keystore 20111026 -alfresco-solr 4.2.e -alfresco-solr4 4.2.e -bitnami -japanese-fonts 1 -xpdf-japanese 1 diff --git a/installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt b/installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt deleted file mode 100644 index 8237b1d6b9..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco-windows-x64-20140918-versions.txt +++ /dev/null @@ -1,19 +0,0 @@ -alfresco Stack - 20140918 -libreoffice 4.2.5 -imagemagick 6.8.6-6-Q8 -xpdf-japanese 1 -openssl 1.0.1i -postgresql 9.3.5-1 -manager 1 -java 1.7.0_67 -tomcat 7.0.53 -bitrock-alfresco 20130409 -alfresco 5.0.a -alfrescosharepoint 4.2.e -alfrescowcmqs 3.4.b -keystore 20111026 -alfresco-solr 4.2.e -alfresco-solr4 4.2.e -bitnami -japanese-fonts 1 -xpdf-japanese 1 diff --git a/installer-resources/src/main/resources/bitrock/alfresco.sh b/installer-resources/src/main/resources/bitrock/alfresco.sh deleted file mode 100755 index 885ecd522b..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfresco.sh +++ /dev/null @@ -1,1322 +0,0 @@ -#!/bin/sh - -# Disabling SELinux if enabled -if [ -f "/usr/sbin/getenforce" ] && [ `id -u` = 0 ] ; then - selinux_status=`/usr/sbin/getenforce` - /usr/sbin/setenforce 0 2> /dev/null -fi - -INSTALLDIR=@@BITROCK_INSTALLDIR@@ - -if [ -r "$INSTALLDIR/scripts/setenv.sh" ]; then -. "$INSTALLDIR/scripts/setenv.sh" -fi - -ERROR=0 -MYSQL_SCRIPT=$INSTALLDIR/mysql/scripts/ctl.sh -MONGODB_SCRIPT=$INSTALLDIR/mongodb/scripts/ctl.sh -INGRES_SCRIPT=$INSTALLDIR/ingres/scripts/ctl.sh -PHPFPM_SCRIPT=$INSTALLDIR/php/scripts/ctl.sh -APACHE_SCRIPT=$INSTALLDIR/apache2/scripts/ctl.sh -VARNISH_SCRIPT=$INSTALLDIR/varnish/scripts/ctl.sh -NGINX_SCRIPT=$INSTALLDIR/nginx/scripts/ctl.sh -HYPERSONIC_SCRIPT=$INSTALLDIR/hypersonic/scripts/ctl.sh -SOLR_SCRIPT=$INSTALLDIR/apache-solr/scripts/ctl.sh -ELASTICSEARCH_SCRIPT=$INSTALLDIR/elasticsearch/scripts/ctl.sh -TOMCAT_SCRIPT=$INSTALLDIR/tomcat/scripts/ctl.sh -RESIN_SCRIPT=$INSTALLDIR/resin/scripts/ctl.sh -REDIS_SCRIPT=$INSTALLDIR/redis/scripts/ctl.sh -SUBVERSION_SCRIPT=$INSTALLDIR/subversion/scripts/ctl.sh -LIBREOFFICE_SCRIPT=$INSTALLDIR/libreoffice/scripts/ctl.sh -#RUBY_APPLICATION_SCRIPT -LUCENE_SCRIPT=$INSTALLDIR/lucene/scripts/ctl.sh -ZOPE_SCRIPT=$INSTALLDIR/zope_application/scripts/ctl.sh -THIRD_SCRIPT=$INSTALLDIR/third_application/scripts/ctl.sh -POSTGRESQL_SCRIPT=$INSTALLDIR/postgresql/scripts/ctl.sh -NAGIOS_SCRIPT=$INSTALLDIR/nagios/scripts/ctl.sh -JETTY_SCRIPT=$INSTALLDIR/jetty/scripts/ctl.sh -JBOSS_SCRIPT=$INSTALLDIR/jboss/scripts/ctl.sh -WILDFLY_SCRIPT=$INSTALLDIR/wildfly/scripts/ctl.sh -MEMCACHED_SCRIPT=$INSTALLDIR/memcached/scripts/ctl.sh -RABBITMQ_SCRIPT=$INSTALLDIR/rabbitmq-server/scripts/ctl.sh -ACTIVEMQ_SCRIPT=$INSTALLDIR/activemq/scripts/ctl.sh - -help() { - echo "usage: $0 help" - echo " $0 (start|stop|restart|status)" - if test -x $MYSQL_SCRIPT; then - echo " $0 (start|stop|restart|status) mysql" - fi - if test -x $POSTGRESQL_SCRIPT; then - echo " $0 (start|stop|restart|status) postgresql" - fi - if test -x $MONGODB_SCRIPT; then - echo " $0 (start|stop|restart|status) mongodb" - fi - if test -x $INGRES_SCRIPT; then - echo " $0 (start|stop|restart|status) ingres" - fi - if test -x $MEMCACHED_SCRIPT; then - echo " $0 (start|stop|restart|status) memcached" - fi - if test -x $PHPFPM_SCRIPT; then - echo " $0 (start|stop|restart|status) php-fpm" - fi - if test -x $APACHE_SCRIPT; then - echo " $0 (start|stop|restart|status) apache" - fi - if test -x $VARNISH_SCRIPT; then - echo " $0 (start|stop|restart|status) varnish" - fi - if test -x $NGINX_SCRIPT; then - echo " $0 (start|stop|restart|status) nginx" - fi - if test -x $HYPERSONIC_SCRIPT; then - echo " $0 (start|stop|restart|status) hypersonic" - fi - if test -x $SOLR_SCRIPT; then - echo " $0 (start|stop|restart|status) solr" - fi - if test -x $ELASTICSEARCH_SCRIPT; then - echo " $0 (start|stop|restart|status) elasticsearch" - fi - if test -x $TOMCAT_SCRIPT; then - echo " $0 (start|stop|restart|status) tomcat" - fi - if test -x $RESIN_SCRIPT; then - echo " $0 (start|stop|restart|status) resin" - fi - if test -x $REDIS_SCRIPT; then - echo " $0 (start|stop|restart|status) redis" - fi - if test -x $SUBVERSION_SCRIPT; then - echo " $0 (start|stop|restart|status) subversion" - fi - if test -x $LIBREOFFICE_SCRIPT; then - echo " $0 (start|stop|restart) libreoffice" - fi - #RUBY_APPLICATION_HELP - if test -x $LUCENE_SCRIPT; then - echo " $0 (start|stop|restart|status) lucene" - fi - if test -x $RABBITMQ_SCRIPT; then - echo " $0 (start|stop|restart|status) rabbitmq" - fi - if test -x $ACTIVEMQ_SCRIPT; then - echo " $0 (start|stop|restart|status) activemq" - fi - if test -x $ZOPE_SCRIPT; then - echo " $0 (start|stop|restart|status) zope_application" - fi - if test -x $THIRD_SCRIPT; then - echo " $0 (start|stop|restart|status) third_application" - fi - if test -x $NAGIOS_SCRIPT; then - echo " $0 (start|stop|restart|status) nagios" - fi - if test -x $JETTY_SCRIPT; then - echo " $0 (start|stop|restart|status) jetty" - fi - if test -x $JBOSS_SCRIPT; then - echo " $0 (start|stop|restart|status) jboss" - fi - if test -x $WILDFLY_SCRIPT; then - echo " $0 (start|stop|restart|status) wildfly" - fi - cat < /dev/null` ] && ( [ "x$1" = "xstop" ] || [ "x$1" = "xrestart" ] ); then - if [ "x$2" = "x" ]; then - monit unmonitor all - elif [ -f "$INSTALLDIR/config/monit/conf.d/$2.conf" ]; then - monit unmonitor $2 - fi -fi - - -if [ "x$1" = "xhelp" ] || [ "x$1" = "x" ]; then - help -elif [ "x$1" = "xstart" ]; then - - if [ "x$2" = "xmysql" ]; then - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT start - MYSQL_ERROR=$? - fi - elif [ "x$2" = "xpostgresql" ]; then - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT start - POSTGRESQL_ERROR=$? - fi - elif [ "x$2" = "xmongodb" ]; then - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT start - MONGODB_ERROR=$? - fi - elif [ "x$2" = "xingres" ]; then - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT start - INGRES_ERROR=$? - fi - elif [ "x$2" = "xlibreoffice" ]; then - if test -x $LIBREOFFICE_SCRIPT; then - $LIBREOFFICE_SCRIPT start - LIBREOFFICE_ERROR=$? - fi - elif [ "x$2" = "xhypersonic" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT start - HYPERSONIC_ERROR=$? - fi - elif [ "x$2" = "xmemcached" ]; then - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT start - MEMCACHED_ERROR=$? - fi - elif [ "x$2" = "xsolr" ]; then - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT start - SOLR_ERROR=$? - fi - elif [ "x$2" = "xelasticsearch" ]; then - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT start - ELASTICSEARCH_ERROR=$? - fi - elif [ "x$2" = "xtomcat" ]; then - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT start - TOMCAT_ERROR=$? - fi - elif [ "x$2" = "xjboss" ]; then - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT start - JBOSS_ERROR=$? - fi - elif [ "x$2" = "xwildfly" ]; then - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT start - WILDFLY_ERROR=$? - fi - elif [ "x$2" = "xresin" ]; then - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT start - RESIN_ERROR=$? - fi - elif [ "x$2" = "xredis" ]; then - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT start - REDIS_ERROR=$? - fi - #RUBY_APPLICATION_START - elif [ "x$2" = "xrabbitmq" ]; then - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT start - RABBITMQ_ERROR=$? - fi - elif [ "x$2" = "xactivemq" ]; then - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT start - ACTIVEMQ_ERROR=$? - fi - elif [ "x$2" = "xzope_application" ]; then - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT start - ZOPE_ERROR=$? - fi - elif [ "x$2" = "xlucene" ]; then - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT start - LUCENE_ERROR=$? - fi - elif [ "x$2" = "xvarnish" ]; then - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT start - VARNISH_ERROR=$? - fi - elif [ "x$2" = "xphp-fpm" ]; then - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT start - PHPFPM_ERROR=$? - fi - elif [ "x$2" = "xapache" ]; then - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT start - APACHE_ERROR=$? - fi - elif [ "x$2" = "xnginx" ]; then - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT start - NGINX_ERROR=$? - fi - elif [ "x$2" = "xsubversion" ]; then - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT start - SUBVERSION_ERROR=$? - fi - elif [ "x$2" = "xthird_application" ]; then - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT start - THIRD_ERROR=$? - fi - elif [ "x$2" = "xnagios" ]; then - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT start - NAGIOS_ERROR=$? - fi - elif [ "x$2" = "xjetty" ]; then - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT start - JETTY_ERROR=$? - fi - elif [ "x$2" = "x" ]; then - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT start - MYSQL_ERROR=$? - sleep 5 - fi - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT start - POSTGRESQL_ERROR=$? - sleep 5 - fi - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT start - MONGODB_ERROR=$? - sleep 2 - fi - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT start - INGRES_ERROR=$? - sleep 5 - fi - - if test -x $LIBREOFFICE_SCRIPT; then - $LIBREOFFICE_SCRIPT start - LIBREOFFICE_ERROR=$? - fi - - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT start - HYPERSONIC_ERROR=$? - fi - - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT start - MEMCACHED_ERROR=$? - fi - - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT start - SOLR_ERROR=$? - fi - - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT start - ELASTICSEARCH_ERROR=$? - fi - - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT start - TOMCAT_ERROR=$? - fi - - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT start - JBOSS_ERROR=$? - fi - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT start - WILDFLY_ERROR=$? - fi - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT start - RESIN_ERROR=$? - fi - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT start - REDIS_ERROR=$? - fi - #RUBY_APPLICATION_GENERIC_START - - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT start - RABBITMQ_ERROR=$? - fi - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT start - ACTIVEMQ_ERROR=$? - fi - - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT start - ZOPE_ERROR=$? - fi - - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT start - LUCENE_ERROR=$? - fi - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT start - PHPFPM_ERROR=$? - fi - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT start - APACHE_ERROR=$? - fi - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT start - VARNISH_ERROR=$? - fi - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT start - NGINX_ERROR=$? - fi - - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT start - SUBVERSION_ERROR=$? - fi - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT start - THIRD_ERROR=$? - fi - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT start - NAGIOS_ERROR=$? - fi - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT start - JETTY_ERROR=$? - fi - else - help - fi - - -elif [ "x$1" = "xstop" ]; then - - if [ "x$2" = "xmysql" ]; then - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT stop - MYSQL_ERROR=$? - sleep 2 - fi - elif [ "x$2" = "xpostgresql" ]; then - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT stop - POSTGRESQL_ERROR=$? - sleep 5 - fi - elif [ "x$2" = "xmongodb" ]; then - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT stop - MONGODB_ERROR=$? - sleep 2 - fi - elif [ "x$2" = "xingres" ]; then - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT stop - INGRES_ERROR=$? - sleep 5 - fi - elif [ "x$2" = "xlibreoffice" ]; then - if test -x $LIBREOFFICE_SCRIPT; then - $LIBREOFFICE_SCRIPT stop - LIBREOFFICE_ERROR=$? - fi - elif [ "x$2" = "xhypersonic" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT stop - HYPERSONIC_ERROR=$? - fi - elif [ "x$2" = "xmemcached" ]; then - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT stop - MEMCACHED_ERROR=$? - fi - elif [ "x$2" = "xsolr" ]; then - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT stop - SOLR_ERROR=$? - fi - elif [ "x$2" = "xelasticsearch" ]; then - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT stop - ELASTICSEARCH_ERROR=$? - fi - elif [ "x$2" = "xtomcat" ]; then - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT stop - TOMCAT_ERROR=$? - fi - elif [ "x$2" = "xresin" ]; then - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT stop - RESIN_ERROR=$? - fi - elif [ "x$2" = "xredis" ]; then - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT stop - REDIS_ERROR=$? - fi - #RUBY_APPLICATION_STOP - elif [ "x$2" = "xrabbitmq" ]; then - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT stop - RABBITMQ_ERROR=$? - fi - elif [ "x$2" = "xactivemq" ]; then - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT stop - ACTIVEMQ_ERROR=$? - fi - elif [ "x$2" = "xzope_application" ]; then - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT stop - ZOPE_ERROR=$? - fi - elif [ "x$2" = "xlucene" ]; then - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT stop - LUCENE_ERROR=$? - fi - elif [ "x$2" = "xnginx" ]; then - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT stop - NGINX_ERROR=$? - fi - elif [ "x$2" = "xapache" ]; then - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT stop - APACHE_ERROR=$? - fi - elif [ "x$2" = "xphp-fpm" ]; then - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT stop - PHPFPM_ERROR=$? - fi - elif [ "x$2" = "xvarnish" ]; then - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT stop - VARNISH_ERROR=$? - fi - - elif [ "x$2" = "xsubversion" ]; then - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT stop - SUBVERSION_ERROR=$? - fi - elif [ "x$2" = "xthird_application" ]; then - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT stop - THIRD_ERROR=$? - fi - elif [ "x$2" = "xnagios" ]; then - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT stop - NAGIOS_ERROR=$? - fi - elif [ "x$2" = "xjetty" ]; then - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT stop - JETTY_ERROR=$? - fi - elif [ "x$2" = "xjboss" ]; then - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT stop - JBOSS_ERROR=$? - fi - elif [ "x$2" = "xwildfly" ]; then - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT stop - WILDFLY_ERROR=$? - fi - elif [ "x$2" = "x" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT stop - HYPERSONIC_ERROR=$? - fi - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT stop - JBOSS_ERROR=$? - fi - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT stop - WILDFLY_ERROR=$? - fi - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT stop - JETTY_ERROR=$? - fi - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT stop - NAGIOS_ERROR=$? - fi - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT stop - THIRD_ERROR=$? - fi - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT stop - SUBVERSION_ERROR=$? - fi - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT stop - NGINX_ERROR=$? - fi - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT stop - APACHE_ERROR=$? - fi - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT stop - PHPFPM_ERROR=$? - fi - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT stop - VARNISH_ERROR=$? - sleep 3 - fi - #RUBY_APPLICATION_GENERIC_STOP - - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT stop - ZOPE_ERROR=$? - fi - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT stop - RABBITMQ_ERROR=$? - fi - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT stop - ACTIVEMQ_ERROR=$? - fi - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT stop - LUCENE_ERROR=$? - fi - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT stop - SOLR_ERROR=$? - sleep 3 - fi - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT stop - ELASTICSEARCH_ERROR=$? - fi - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT stop - TOMCAT_ERROR=$? - sleep 3 - fi - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT stop - RESIN_ERROR=$? - sleep 3 - fi - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT stop - REDIS_ERROR=$? - sleep 3 - fi - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT stop - MEMCACHED_ERROR=$? - fi - if test -x $LIBREOFFICE_SCRIPT; then - $LIBREOFFICE_SCRIPT stop - LIBREOFFICE_ERROR=$? - fi - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT stop - MYSQL_ERROR=$? - fi - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT stop - MONGODB_ERROR=$? - fi - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT stop - INGRES_ERROR=$? - fi - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT stop - POSTGRESQL_ERROR=$? - fi - else - help - fi - -elif [ "x$1" = "xrestart" ]; then - - if [ "x$2" = "xmysql" ]; then - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT stop - sleep 2 - $MYSQL_SCRIPT start - MYSQL_ERROR=$? - fi - elif [ "x$2" = "xpostgresql" ]; then - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT stop - sleep 5 - $POSTGRESQL_SCRIPT start - POSTGRESQL_ERROR=$? - fi - elif [ "x$2" = "xmongodb" ]; then - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT stop - sleep 2 - $MONGODB_SCRIPT start - MONGODB_ERROR=$? - fi - elif [ "x$2" = "xingres" ]; then - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT stop - sleep 5 - $INGRES_SCRIPT start - INGRES_ERROR=$? - fi - elif [ "x$2" = "xlibreoffice" ]; then - if test -x $LIBREOFFICE_SCRIPT; then - $LIBREOFFICE_SCRIPT stop - sleep 2 - $LIBREOFFICE_SCRIPT start - LIBREOFFICE_ERROR=$? - fi - elif [ "x$2" = "xhypersonic" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT stop - sleep 2 - $HYPERSONIC_SCRIPT start - HYPERSONIC_ERROR=$? - fi - elif [ "x$2" = "xmemcached" ]; then - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT stop - $MEMCACHED_SCRIPT start - MEMCACHED_ERROR=$? - fi - elif [ "x$2" = "xsolr" ]; then - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT stop - sleep 5 - $SOLR_SCRIPT start - SOLR_ERROR=$? - fi - elif [ "x$2" = "xelasticsearch" ]; then - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT stop - sleep 3 - $ELASTICSEARCH_SCRIPT start - ELASTICSEARCH_ERROR=$? - fi - elif [ "x$2" = "xtomcat" ]; then - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT stop - sleep 5 - $TOMCAT_SCRIPT start - TOMCAT_ERROR=$? - fi - elif [ "x$2" = "xresin" ]; then - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT stop - sleep 5 - $RESIN_SCRIPT start - RESIN_ERROR=$? - fi - elif [ "x$2" = "xredis" ]; then - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT stop - sleep 5 - $REDIS_SCRIPT start - REDIS_ERROR=$? - fi - #RUBY_APPLICATION_RESTART - - elif [ "x$2" = "xrabbitmq" ]; then - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT stop - sleep 2 - $RABBITMQ_SCRIPT start - RABBITMQ_ERROR=$? - fi - elif [ "x$2" = "xactivemq" ]; then - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT stop - sleep 2 - $ACTIVEMQ_SCRIPT start - ACTIVEMQ_ERROR=$? - fi - elif [ "x$2" = "xzope_application" ]; then - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT stop - sleep 2 - $ZOPE_SCRIPT start - ZOPE_ERROR=$? - fi - elif [ "x$2" = "xlucene" ]; then - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT stop - sleep 2 - $LUCENE_SCRIPT start - LUCENE_ERROR=$? - fi - elif [ "x$2" = "xphp-fpm" ]; then - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT stop - sleep 2 - $PHPFPM_SCRIPT start - PHPFPM_ERROR=$? - fi - elif [ "x$2" = "xapache" ]; then - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT stop - sleep 2 - $APACHE_SCRIPT start - APACHE_ERROR=$? - fi - elif [ "x$2" = "xvarnish" ]; then - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT stop - sleep 5 - $VARNISH_SCRIPT start - VARNISH_ERROR=$? - fi - - elif [ "x$2" = "xnginx" ]; then - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT stop - sleep 2 - $NGINX_SCRIPT start - NGINX_ERROR=$? - fi - elif [ "x$2" = "xsubversion" ]; then - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT stop - sleep 2 - $SUBVERSION_SCRIPT start - SUBVERSION_ERROR=$? - fi - elif [ "x$2" = "xthird_application" ]; then - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT stop - sleep 2 - $THIRD_SCRIPT start - THIRD_ERROR=$? - fi - elif [ "x$2" = "xnagios" ]; then - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT stop - sleep 2 - $NAGIOS_SCRIPT start - NAGIOS_ERROR=$? - fi - elif [ "x$2" = "xjetty" ]; then - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT stop - sleep 2 - $JETTY_SCRIPT start - JETTY_ERROR=$? - fi - elif [ "x$2" = "xjboss" ]; then - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT stop - sleep 2 - $JBOSS_SCRIPT start - JBOSS_ERROR=$? - fi - elif [ "x$2" = "xwildfly" ]; then - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT stop - sleep 2 - $WILDFLY_SCRIPT start - WILDFLY_ERROR=$? - fi - elif [ "x$2" = "x" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT stop - HYPERSONIC_ERROR=$? - fi - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT stop - JBOSS_ERROR=$? - fi - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT stop - WILDFLY_ERROR=$? - fi - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT stop - JETTY_ERROR=$? - fi - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT stop - NAGIOS_ERROR=$? - fi - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT stop - THIRD_ERROR=$? - fi - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT stop - SUBVERSION_ERROR=$? - fi - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT stop - NGINX_ERROR=$? - fi - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT stop - VARNISH_ERROR=$? - fi - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT stop - APACHE_ERROR=$? - fi - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT stop - PHPFPM_ERROR=$? - fi - #RUBY_APPLICATION_GENERIC_STOP - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT stop - ZOPE_ERROR=$? - fi - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT stop - LUCENE_ERROR=$? - fi - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT stop - TOMCAT_ERROR=$? - fi - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT stop - SOLR_ERROR=$? - fi - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT stop - ELASTICSEARCH_ERROR=$? - fi - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT stop - RESIN_ERROR=$? - fi - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT stop - REDIS_ERROR=$? - fi - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT stop - MEMCACHED_ERROR=$? - fi - if test -x $LIBREOFFICE_SCRIPT; then - $LIBREOFFICE_SCRIPT stop - LIBREOFFICE_ERROR=$? - fi - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT stop - sleep 2 - $MYSQL_SCRIPT start; - MYSQL_ERROR=$? - sleep 2 - fi - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT stop - sleep 2 - $POSTGRESQL_SCRIPT start; - POSTGRESQL_ERROR=$? - sleep 2 - fi - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT stop - sleep 2 - $MONGODB_SCRIPT start; - MONGODB_ERROR=$? - sleep 2 - fi - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT stop - sleep 7 - $INGRES_SCRIPT start; - INGRES_ERROR=$? - sleep 2 - fi - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT start - MEMCACHED_ERROR=$? - fi - if test -x $LIBREOFFICE_SCRIPT; then - $LIBREOFFICE_SCRIPT start - LIBREOFFICE_ERROR=$? - fi - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT start - SOLR_ERROR=$? - fi - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT start - ELASTICSEARCH_ERROR=$? - fi - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT start - TOMCAT_ERROR=$? - fi - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT start - JBOSS_ERROR=$? - fi - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT start - WILDFLY_ERROR=$? - fi - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT start - RESIN_ERROR=$? - fi - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT start - REDIS_ERROR=$? - fi - #RUBY_APPLICATION_GENERIC_START - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT start - RABBITMQ_ERROR=$? - fi - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT start - ACTIVEMQ_ERROR=$? - fi - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT start - ZOPE_ERROR=$? - fi - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT start - PHPFPM_ERROR=$? - fi - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT start - APACHE_ERROR=$? - fi - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT start - VARNISH_ERROR=$? - fi - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT start - NGINX_ERROR=$? - fi - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT start - SUBVERSION_ERROR=$? - fi - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT start - THIRD_ERROR=$? - fi - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT start - NAGIOS_ERROR=$? - fi - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT start - JETTY_ERROR=$? - fi - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT start - HYPERSONIC_ERROR=$? - fi - else - help - fi - -elif [ "x$1" = "xstatus" ]; then - - if [ "x$2" = "xmysql" ]; then - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT status - sleep 2 - fi - elif [ "x$2" = "xmongodb" ]; then - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT status - fi - elif [ "x$2" = "xingres" ]; then - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT status - fi - elif [ "x$2" = "xpostgresql" ]; then - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT status - sleep 2 - fi - elif [ "x$2" = "xhypersonic" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT status - fi - elif [ "x$2" = "xmemcached" ]; then - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT status - fi - elif [ "x$2" = "xsolr" ]; then - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT status - fi - elif [ "x$2" = "xelasticsearch" ]; then - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT status - fi - elif [ "x$2" = "xtomcat" ]; then - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT status - fi - elif [ "x$2" = "xresin" ]; then - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT status - fi - elif [ "x$2" = "xredis" ]; then - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT status - fi - #RUBY_APPLICATION_STATUS - elif [ "x$2" = "xrabbitmq" ]; then - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT status - fi - elif [ "x$2" = "xactivemq" ]; then - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT status - fi - elif [ "x$2" = "xzope_application" ]; then - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT status - fi - elif [ "x$2" = "xlucene" ]; then - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT status - fi - elif [ "x$2" = "xapache" ]; then - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT status - fi - elif [ "x$2" = "xphp-fpm" ]; then - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT status - fi - elif [ "x$2" = "xvarnish" ]; then - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT status - fi - elif [ "x$2" = "xnginx" ]; then - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT status - fi - elif [ "x$2" = "xsubversion" ]; then - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT status - fi - elif [ "x$2" = "xthird_application" ]; then - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT status - fi - elif [ "x$2" = "xnagios" ]; then - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT status - fi - elif [ "x$2" = "xjetty" ]; then - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT status - fi - elif [ "x$2" = "xjboss" ]; then - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT status - fi - elif [ "x$2" = "xwildfly" ]; then - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT status - fi - elif [ "x$2" = "x" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT status - fi - if test -x $JETTY_SCRIPT; then - $JETTY_SCRIPT status - fi - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT status - fi - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT status - fi - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT status - fi - if test -x $THIRD_SCRIPT; then - $THIRD_SCRIPT status - fi - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT status - fi - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT status - fi - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT status - sleep 3 - fi - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT status - fi - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT status - fi - #RUBY_APPLICATION_GENERIC_STATUS - if test -x $RABBITMQ_SCRIPT; then - $RABBITMQ_SCRIPT status - fi - if test -x $ACTIVEMQ_SCRIPT; then - $ACTIVEMQ_SCRIPT status - fi - if test -x $ZOPE_SCRIPT; then - $ZOPE_SCRIPT status - fi - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT status - fi - if test -x $INGRES_SCRIPT; then - $INGRES_SCRIPT status - fi - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT status - sleep 3 - fi - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT status - fi - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT status - sleep 3 - fi - if test -x $RESIN_SCRIPT; then - $RESIN_SCRIPT status - sleep 3 - fi - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT status - sleep 3 - fi - - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT status - fi - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT status - sleep 3 - fi - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT status - fi - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT status - fi - else - help - fi -elif [ "x$1" = "xcleanpid" ]; then - if test -x $HYPERSONIC_SCRIPT; then - $HYPERSONIC_SCRIPT cleanpid - fi - if test -x $JBOSS_SCRIPT; then - $JBOSS_SCRIPT cleanpid - fi - if test -x $WILDFLY_SCRIPT; then - $WILDFLY_SCRIPT cleanpid - fi - if test -x $NAGIOS_SCRIPT; then - $NAGIOS_SCRIPT cleanpid - fi - if test -x $SUBVERSION_SCRIPT; then - $SUBVERSION_SCRIPT cleanpid - fi - if test -x $PHPFPM_SCRIPT; then - $PHPFPM_SCRIPT cleanpid - fi - if test -x $APACHE_SCRIPT; then - $APACHE_SCRIPT cleanpid - fi - if test -x $NGINX_SCRIPT; then - $NGINX_SCRIPT cleanpid - fi - if test -x $LUCENE_SCRIPT; then - $LUCENE_SCRIPT cleanpid - fi - if test -x $SOLR_SCRIPT; then - $SOLR_SCRIPT cleanpid - fi - if test -x $ELASTICSEARCH_SCRIPT; then - $ELASTICSEARCH_SCRIPT cleanpid - fi - if test -x $TOMCAT_SCRIPT; then - $TOMCAT_SCRIPT cleanpid - fi - if test -x $MYSQL_SCRIPT; then - $MYSQL_SCRIPT cleanpid - fi - if test -x $POSTGRESQL_SCRIPT; then - $POSTGRESQL_SCRIPT cleanpid - fi - if test -x $MONGODB_SCRIPT; then - $MONGODB_SCRIPT cleanpid - fi - if test -x $MEMCACHED_SCRIPT; then - $MEMCACHED_SCRIPT cleanpid - fi - if test -x $VARNISH_SCRIPT; then - $VARNISH_SCRIPT cleanpid - fi - if test -x $REDIS_SCRIPT; then - $REDIS_SCRIPT cleanpid - fi -else - help - exit 1 -fi - - -# Enable Monit -if [ -f "$INSTALLDIR/config/monit/bitnami.conf" ] && [ `id -u` = 0 ] && [ `which monit 2> /dev/null` ] && ( [ "x$1" = "xstart" ] || [ "x$1" = "xrestart" ] ); then - if [ "x$2" = "x" ]; then - monit monitor all - elif [ -f "$INSTALLDIR/config/monit/conf.d/$2.conf" ]; then - monit monitor $2 - fi -fi - - -# Checking for errors -for e in $VARNISH_ERROR $PHPFPM_ERROR $APACHE_ERROR $NGINX_ERROR $MYSQL_ERROR $MONGODB_ERROR $SUBVERSION_ERROR $SOLR_ERROR $ELASTICSEARCH_ERROR $TOMCAT_ERROR $REDIS_ERROR $RESIN_ERROR $MEMCACHED_ERROR $INGRES_ERROR $LIBREOFFICE_ERROR $LUCENE_ERROR $ZOPE_ERROR $POSTGRESQL_ERROR $THIRD_ERROR $NAGIOS_ERROR $RABBITMQ_ERROR $ACTIVEMQ_ERROR $JETTY_ERROR $JBOSS_ERROR $WILDFLY_ERROR $HYPERSONIC_ERROR; do - if [ $e -gt 0 ]; then - ERROR=$e - fi -done -# Restoring SELinux -if [ -f "/usr/sbin/getenforce" ] && [ `id -u` = 0 ] ; then - /usr/sbin/setenforce $selinux_status 2> /dev/null -fi - -exit $ERROR diff --git a/installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml b/installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml deleted file mode 100644 index 8725ab0c30..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfrescodm-postgres-database.xml +++ /dev/null @@ -1,39 +0,0 @@ - - alfrescopostgresdbcreation - //Alfresco PostgreSQL DB Creation - 1 - 0 - - - - - - - - - ${database_binary_directory}/createuser - -p ${database_port} -U postgres --no-superuser --no-createdb --no-createrole ${alfresco_database_user} - - - ${database_binary_directory}/createdb - -p ${database_port} -U postgres -O ${alfresco_database_user} ${alfresco_database_name} - - - ${postgres_binary_directory}/psql - -U postgres -p ${postgres_port} -h ${postgres_hostname} -c "ALTER USER ${alfresco_database_user} with password '${alfresco_database_password}'" - - - - - - ${application_server_directory}/shared/classes/alfresco/extension/custom-hibernate-dialect.properties - exact - - - #hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect - hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect - - - - - diff --git a/installer-resources/src/main/resources/bitrock/alfrescodm.xml b/installer-resources/src/main/resources/bitrock/alfrescodm.xml deleted file mode 100644 index c71ac24848..0000000000 --- a/installer-resources/src/main/resources/bitrock/alfrescodm.xml +++ /dev/null @@ -1,551 +0,0 @@ - - alfresco - ${product_fullname} - Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management. - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - alfresco_license - License Agreement - welcome - Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation. - 1 - licenses/alfresco.trial.agreement-en.txt - - - en - licenses/alfresco.trial.agreement-en.txt - utf-8 - - - - - - - - - - remote_solr_configuration - Remote Solr configuration - Enter the Solr host and port to connect to Alfresco Content Services: - 0 - - - solr_host - Solr host: - localhost - - - solr_ssl_port - Solr SSL port: - 8443 - - - - - - - sharded_solr - Sharded Solr installation - Are you using a sharded Solr installation? - no - 0 - shardedSolr - radiobuttons - - - - - - - - - repository_url_port - Connect Alfresco Share to the repository - Enter the location of your Alfresco Content Services repository. - http://localhost:8080/alfresco - 0 - Repository location: - - - - - alfresco_ftp_port - FTP Port - Choose a port number for the integrated FTP server. - 21 - - 1 - Port: - or - - - - - - - Use numbers only in the port configuration fields. Other characters are not permitted. - - - - - - Couldn’t bind to the given port number. Select another FTP Port. - - - - - - - - alfresco_rmi_port - RMI Port - Choose a port number for Alfresco Content Services to use to execute remote commands. - 50500 - - 1 - Port: - or - - - - - - - Use numbers only in the port configuration fields. Other characters are not permitted. - - - - - - Couldn’t bind to the given port number. Select another RMI Port. - - - - - - - - alfresco_data_directory - Data Directory - Select a folder: - The data directory increases in size over time. Choose where you want to store it. - ${installdir}/alf_data - 1 - 0 - 0 - alf_data_location - 0 - 32 - - - - Admin Password - Specify a password for the Alfresco Content Services administrator account. - - - The password must be longer than 3 characters. - - - - - - Password must not contain leading or trailing spaces. - - - ^\s|\s$ - - - - - Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation. - - - - - - - - - - - - - - - - //War Files - warfiles - ${installdiralfresco} - - - - - - - - - - //Libraries Files - ${alfresco_library_directory} - libfiles - all - - - - - - - - - - //Extension Files - ${alfresco_shared_directory} - extensionfiles - all - - - - - - //Share Services AMP - ${alfresco_amps_directory} - shareservices - all - - - - - - - - - - - - - //Endorsed Files - ${tomcat_server_directory}/endorsed - endorsedfiles - all - - - - - - //Module Files - ${installdir}/modules - modulefiles - all - - - - - - //Default Keystore - ${alfresco_data_directory}/keystore - keystore - all - - - - - - //Tomcat Conf Files - ${application_server_conf_directory} - tomcatconffiles - all - - - - - - tomcatusers - ${tomcat_server_directory}/conf - all - - - - - - - - - - //Program Files - ${alfresco_shared_directory}/alfresco/web-extension - alfrescocustomwebextension - all - - - - - - - - - //Program Files - ${alfresco_shared_directory} - alfrescoproperties - all - - - - - */alfresco-global.properties - regexp - - - db.driver=.*$ - db.driver=${jdbc_driver} - - - @@BITROCK_DB_USER@@ - ${jdbc_username} - - - @@BITROCK_DB_PASSWORD@@ - ${jdbc_password} - - - @@BITROCK_DB_NAME@@ - ${jdbc_database} - - - db.url=.*$ - db.url=${jdbc_url} - - - @@BITROCK_MYSQL_PORT@@ - 3306 - - - @@BITROCK_POSTGRESQL_PORT@@ - 5432 - - - @@BITROCK_LO_PORT@@ - ${libreoffice_port} - - - - - or - - - and - - - - - - - and - - - - - - - - - - - - - - - - - - - conf - //Configuration files - ${alfresco_base_application_directory} - - - - - - ${alfresco_base_application_directory}/conf/alfresco.conf - exact - - - @@BITROCK_TOMCAT_AJP_PORT@@ - ${application_server_ajp_port} - - - - - - - - - - - //Program Files - ${installdir}/apps/alfresco - alfrescobnconfig - - - - - - - - - - licenses - //Alfresco Licenses - ${alfresco_base_application_directory} - - - - - - - - - //Program Files - ${alfresco_commands_directory} - commands - all - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //ServerInfo.properties File - ${alfresco_library_directory}/org/apache/catalina/util - serverinfofile - all - - - - - - - - - - - ${alfresco_commands_directory}/*.dll - ${tomcat_server_directory}/bin - - - - - - - - - - - ${application_server_conf_directory}/catalina.properties - regexp - - - shared.loader= - shared.loader=${'${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar'} - - - - - ${application_server_conf_directory}/context.xml - exact - - - <Context> - <Context> -<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" securePagesWithPragma="false" /> - - - - - ${application_server_conf_directory}/server.xml - exact - - - <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> - <!--Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /--> - - - - - ${application_server_conf_directory}/logging.properties - org.apache.catalina.loader.WebappClassLoader.level - OFF - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/base-functions.xml b/installer-resources/src/main/resources/bitrock/base-functions.xml deleted file mode 100644 index e6474eec6f..0000000000 --- a/installer-resources/src/main/resources/bitrock/base-functions.xml +++ /dev/null @@ -1,2055 +0,0 @@ - - - basefunctions - //BaseFunctions - 1 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - or - - - - and - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - randomdigit - - - - - - int(rand() * 1000000000) - randomdigit0 - - - randomdigit - ${randomdigit}${randomdigit0} - - - - - ${length} - less - ${randomdigit} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ctl.sh - exact - - - @@BITROCK_RUBY_APPLICATION_ROOTDIR@@ - ${appDir} - - - @@BITROCK_INSTALLDIR@@ - ${installdir} - - - ruby_application - ${appName} - - - - - - - - - - - - - - - - - - base_stack_name "${baseStackName}" - base_stack_version "${baseStackVersion}" - base_stack_platform "${baseStackPlatform}" - installdir "${baseStackInstallDir}" - - - - - - ${baseStackPropertiesFile} -
General
- ${key} - ${var} -
- - -
- - - -
-
- - - -
-
-
- - - - - - - - - - - - - ${baseStackPropertiesFile} -
General
- installdir - ${baseStackInstallDir} -
- - ${baseStackPropertiesFile} -
General
- base_stack_name - ${baseStackName} -
- - ${baseStackPropertiesFile} -
General
- base_stack_version - ${baseStackVersion} -
- - ${baseStackPropertiesFile} -
General
- base_stack_platform - ${baseStackPlatform} -
- - ${baseStackPropertiesFile} -
General
- base_stack_service - ${baseStackService} - - - -
- - ${baseStackPropertiesFile} -
General
- require_root_privileges - 1 - - - - -
-
-
- - - - - - - - - - - - - - base_first_name "${baseFirstName}" - base_last_name "${baseLastName}" - base_username "${baseUsername}" - base_user "${baseUser}" - base_email "${baseEmail}" - - - - - - ${baseStackPropertiesFile} -
General
- ${key} - ${var} -
- - -
- - - -
-
- - - -
-
-
- - - - - - - - - - - - - ${baseStackPropertiesFile} -
General
- base_first_name - ${baseFirstName} -
- - ${baseStackPropertiesFile} -
General
- base_last_name - ${baseLastName} -
- - ${baseStackPropertiesFile} -
General
- base_username - ${baseUsername} -
- - ${baseStackPropertiesFile} -
General
- base_user - ${baseUser} -
- - ${baseStackPropertiesFile} -
General
- base_email - ${baseEmail} -
-
-
- - - - - - - - - - script_text - ${path} - - - - - - ${script_text} - ${var} - \1 - ${regexp} - - - - - - - - - - - - - - - - - - - ${selector} - ${path} - ${var} - - - - - - - - - - - - - - - - Username '${username}' is reserved. Use a different user name. - - - - - - - - - - - - - - - - - - Password is weak. Please choose a stronger password. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${app(${applicationId}).database_user} - (.{1,16}).* - app(${applicationId}).database_user - \1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - createApplicationDatabase - - - - - - - - ${app(${applicationId}).installdir}/scripts/createdb.php - <?php - -//createdb.php -// -//script used to create the necessary databases to run ${project.shortName} -//it won't overwrite any existent database - -if ($db=mysql_connect('${database_hostname}:${database_port}','root','${database_root_password}')) { - mysql_query("create database ${app(${applicationId}).database_name} collate ${collation}"); - mysql_query("GRANT ALL PRIVILEGES ON ${app(${applicationId}).database_name}.* TO '${app(${applicationId}).database_user}'@'${database_client_hostname}' IDENTIFIED BY '${app(${applicationId}).database_password}'"); - mysql_query("flush privileges"); -} -else { - die("There was an error creating the database or setting the appropriate privileges"); -} -?> - - - - - - - - ${php_binary_directory}/php - -c "${php_configuration_directory}" "${app(${applicationId}).installdir.unix}/scripts/createdb.php" - - - - - - ${php_binary_directory}\php - -c "${php_configuration_directory}" "${app(${applicationId}).installdir.dos}\scripts\createdb.php" - - - - - - - - - - - - - - - - - - - - - - - - chown - -R ${owner}:${group} ${file_path} - - - - - - - chown - -R root:${group} ${file_path} - - - - - - - - - - - - - - chown - -R ${owner} ${file_path} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - find - ${path} ${file_name} ${file_type} -print0 | xargs -0 chmod ${permissions} - - - - - - - - - - - - - - - - apache,apachephp,mysqlapache,apacheservice,apachewriteproperties,iis,iisphp,common,iisfastcgi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - useradd - -r ${username} ${create_home_option} - 0 - 1 - - - - - - - ${username} - 0 - 1 - - - - - - defaults - write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add '${username}' - 0 - 0 - - - - - - - - - - - /etc/group - groupFile - 0 - 1 - - - ${groupname} - 0 - 1 - - - - - - ${username} - ${groupname} - 0 - 0 - - - - - - - - - - - - checkForSymlinkRecursively - - - - - - - - - - - - - - - - - - - - - - - - - - - - checkDirectoryTraversableRecursively - - - - - - - - - - - - - - - - does_not_match - [1357]$ - ${permissions} - - - - - - - - - - - - - - - - - - - - - - addServerToMainScript - - - - - - - - ${installdir}/ctlscript.sh - exact - - - #RUBY_APPLICATION_SCRIPT - #${serverName}_code_start -${serverName_cap}_SCRIPT=${scriptPath} -#${serverName}_code_end -#RUBY_APPLICATION_SCRIPT - - - #RUBY_APPLICATION_HELP - #${serverName}_code_start - if test -x $${serverName_cap}_SCRIPT; then - echo " $0 (start|stop|restart|status) ${serverName}" - fi - #${serverName}_code_end - #RUBY_APPLICATION_HELP - - - #RUBY_APPLICATION_START - #${serverName}_code_start - elif [ "x$2" = "x${serverName}" ]; then - if test -x $${serverName_cap}_SCRIPT; then - $${serverName_cap}_SCRIPT start - ${serverName_cap}_ERROR=$? - fi - #${serverName}_code_end - #RUBY_APPLICATION_START - - - #RUBY_APPLICATION_GENERIC_START - #${serverName}_code_start - if test -x $${serverName_cap}_SCRIPT; then - $${serverName_cap}_SCRIPT start - ${serverName_cap}_ERROR=$? - fi - #${serverName}_code_end - #RUBY_APPLICATION_GENERIC_START - - - #RUBY_APPLICATION_STOP - #${serverName}_code_start - elif [ "x$2" = "x${serverName}" ]; then - if test -x $${serverName_cap}_SCRIPT; then - $${serverName_cap}_SCRIPT stop - ${serverName_cap}_ERROR=$? - fi - #${serverName}_code_end - #RUBY_APPLICATION_STOP - - - #RUBY_APPLICATION_GENERIC_STOP - #${serverName}_code_start - if test -x $${serverName_cap}_SCRIPT; then - $${serverName_cap}_SCRIPT stop - ${serverName_cap}_ERROR=$? - fi - #${serverName}_code_end - #RUBY_APPLICATION_GENERIC_STOP - - - #RUBY_APPLICATION_RESTART - #${serverName}_code_start - elif [ "x$2" = "x${serverName}" ]; then - if test -x $${serverName_cap}_SCRIPT; then - $${serverName_cap}_SCRIPT stop - sleep 2 - $${serverName_cap}_SCRIPT start - ${serverName_cap}_ERROR=$? - fi - #${serverName}_code_end - #RUBY_APPLICATION_RESTART - - - #RUBY_APPLICATION_STATUS - #${serverName}_code_start - elif [ "x$2" = "x${serverName}" ]; then - if test -x $${serverName_cap}_SCRIPT; then - $${serverName_cap}_SCRIPT status - fi - #${serverName}_code_end - #RUBY_APPLICATION_STATUS - - - #RUBY_APPLICATION_GENERIC_STATUS - #${serverName}_code_start - if test -x $${serverName_cap}_SCRIPT; then - $${serverName_cap}_SCRIPT status - fi - #${serverName}_code_end - #RUBY_APPLICATION_GENERIC_STATUS - - - - - - - - - - ${scriptPath} - scriptPath - - - - - - ${installdir}/servicerun.bat;${installdir}/serviceinstall.bat - exact - - - rem RUBY_APPLICATION_INSTALL - rem ${serverName}_code_start -if exist ${scriptPath.dos}\serviceinstall.bat (start /MIN ${scriptPath.dos}\serviceinstall.bat INSTALL) -rem ${serverName}_code_end -rem RUBY_APPLICATION_INSTALL - - - rem RUBY_APPLICATION_REMOVE - rem ${serverName}_code_start -if exist ${scriptPath.dos}\serviceinstall.bat (start /MIN ${scriptPath.dos}\serviceinstall.bat) -rem ${serverName}_code_end -rem RUBY_APPLICATION_REMOVE - - - rem RUBY_APPLICATION_START - rem ${serverName}_code_start -if exist ${scriptPath.dos}\servicerun.bat (start /MIN ${scriptPath.dos}\servicerun.bat START) -rem ${serverName}_code_end -rem RUBY_APPLICATION_START - - - rem RUBY_APPLICATION_STOP - rem ${serverName}_code_start -if exist ${scriptPath.dos}\servicerun.bat (start /MIN ${scriptPath.dos}\servicerun.bat STOP) -rem ${serverName}_code_end -rem RUBY_APPLICATION_STOP - - - - - - - - - - - - - removeServerFromMainScript - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - addLogrotate - - - - - - - - - - - - - - ${logrotateDirectory}/${name}.conf - ${logs} { - ${schedule} - rotate ${rotate} - dateext - compress - copytruncate - missingok - ${additionalOptions} -} - - - - - - - - ${logrotate_directory}/${name}.conf - ${text} - - - - - - - - - - - - - - addMonit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${monitDirectory}/${name}.conf - check process ${processName} - with pidfile "${pidFile}" - start program = "${startCommand}" with timeout 90 seconds - stop program = "${stopCommand}" with timeout 90 seconds - ${additionalOptions} - - - - - - - - - - - - - - - launchManager - - - - - - - 0 - 0 - ${installdir}/manager-osx.app/Contents/MacOS/installbuilder.sh - --background & - - - - - - 0 - 0 - ${installdir}/manager-${platform_name}.run - --background & - - - - - - 0 - 0 - explorer - "${installdir}\manager-${platform_name}.exe" 2> NUL > NUL & - - - - - - - - - - - - - - - - - - - - - ${user} - stat - -c %U ${file} - - - ${group} - stat - -c %G ${file} - - - - - - - - - - and - - - - or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - crontab - -l - currentTasks - 0 - 0 - - - - - - - - - - - ${tmpCrontabFile} - ${currentTasks} - - - - - ${tmpCrontabFile} - regexp - - - - - - - - ${tmpCrontabFile} - ${schedule} su ${jobUser} -s /bin/sh -c "${job}" #${id} - - - - - - - - ${tmpCrontabFile} - - - - - - - - - ${tmpCrontabFile} - ${schedule} su ${jobUser} -s /bin/sh -c "${job}" #${id} - - - - - - - - - - - - - - - - - - - crontab - ${asRootUser} ${tmpCrontabFile} - 0 - 0 - - - - - 0 - 0 - - - - - - - mkdir - -p ${installdir}/config/crontab - 0 - 0 - - - ${installdir}/config/crontab/${id}.cron - ${schedule} ${jobUser} ${job} #${id} - 0 - 0 - - - - - - - - ${installdir}/config/crontab/${id}.cron - 0 - 0 - - - - - - ${installdir}/config/crontab - - - - - - ${installdir}/config - - - - - - - - - - - - - - - - - - - - - - - - - - schtasks - /Query /TN ${name} - found - 0 - 0 - - - - - - - - - - - count - 0 - - - - - - - - ${count}+1 - count - - - schtasks - /Query /TN ${name}-${count} - found - 0 - 0 - - - - - - - - schtasks - /Create /SC ${schedule} /MO ${freq} /TN ${${id}} /F /TR "${command}" - - - - - - - - - schtasks - /Delete /F /TN ${id} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${scriptArguments} - - - - - - - <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Label</key> - <string>${serviceName}</string> - <key>ProgramArguments</key> - <array> - <string>${scriptPath}</string> - ${plistScriptArguments} - </array> - <key>RunAtLoad</key> - <true/> - ${plistUserName} - ${plistUserGroup} -</dict> -</plist> - - - - - /Library/LaunchDaemons/${serviceName}.plist - ${plistFileContent} - - - - - - - - - - - launchctl - unload /Library/LaunchDaemons/${serviceName}.plist - - - - - - - - - - - - - - - - - - - Use numbers only in the port configuration fields. Other characters are not permitted. - - - - - - - ${serverPort} - process_binding_port - - - - Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port. - or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unable to bind to the given port number. - or - - - - - - - - - - - - - - - - - - - - Couldn’t find a server running at this port number. Select another port. - - - - - - - - Couldn’t bind to the server port. Make sure that ${serverName} is not running. - - - - - - - - - - - - - - - - - - - - - file_content - ${file} - - - text_to_substitute - ^.*?(${pattern}).*$ - \1 - ${file_content} - - - ${file} - exact - - - ${text_to_substitute} - ${substitution} - - - - - ${file} - exact - - - @@BITNAMI_MATCHED_TEXT@@ - ${text_to_substitute} - - - - - - - - - - - - - - - - - - - - - - - ${loop_counter}+${timeInterval} - loop_counter - - - - - - - - - - - - - - - - - - - - - - - - - - - - Timeout waiting for text into files - - - - - - - - - - - - - - - Generated UUID does not have the right length - - - 36 - does_not_equal - ${uuid} - - - - - - - - - - - - - - - - - - - - - - match - ^.*(%[A-F0-9]{2}).*$ - \1 - ${text} - - - - lowercase_match_decoded - ${lowercase_match} - - - text - (.*)${match}(.*) - \1${lowercase_match_decoded}\2 - ${text} - - - - - - ${counter} - less - ${max_loop_counter} - - - matches - %[A-F0-9]{2} - ${text} - - - - - URL decoding too complex - - - matches - %[A-F0-9]{2} - ${text} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - START - - - STOP - - - - - - - - - - - - 0 - 0 - ${programToRun} - ${programArgumentsToStop} - or - - - - - - - - - - - - - - - - - - 0 - 0 - ${programToRun} - ${programArgumentsToStart} - or - - - - - - - - - - - - - - - - - - - - or - - - - - - - - - - - - - - - - - - - - - - - -
- -
diff --git a/installer-resources/src/main/resources/bitrock/base-java-settings.xml b/installer-resources/src/main/resources/bitrock/base-java-settings.xml deleted file mode 100644 index a641352e5f..0000000000 --- a/installer-resources/src/main/resources/bitrock/base-java-settings.xml +++ /dev/null @@ -1,38 +0,0 @@ - - javasettings - //JavaInitialSettings - 1 - 0 - 1 - - - - - - - - - - component(java).parameter(java_installation_type).value - existing - or - - - and - - - - - - - and - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/base-licenses.xml b/installer-resources/src/main/resources/bitrock/base-licenses.xml deleted file mode 100644 index dffeaa9f19..0000000000 --- a/installer-resources/src/main/resources/bitrock/base-licenses.xml +++ /dev/null @@ -1,25 +0,0 @@ - - licenses - //License Folder Component - 1 - 0 - 1 - - - 0 - ${installdir} - base_licenses_installation_directory - - - - - //Licenses Files - ${base_licenses_installation_directory} - licensefiles - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/base-parameter-dir.xml b/installer-resources/src/main/resources/bitrock/base-parameter-dir.xml deleted file mode 100644 index c5404845e0..0000000000 --- a/installer-resources/src/main/resources/bitrock/base-parameter-dir.xml +++ /dev/null @@ -1,401 +0,0 @@ - - baseparamdir - //Base Installdir Parameter - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - installdir - ${platform_install_prefix}/${product_shortname}-${product_version} - - - - - - - installdir - ${platform_install_prefix}/${product_fullname} - - - - - - - - installdir - ${platform_install_prefix}/${alfresco_package} - - - - - - ${installdir} - installdir - - \(x86\) - - - - - - - - - - - - base_stack_name - base_stack_version - base_stack_platform - - - base_user_firstname - base_user_lastname - base_user_name - base_user - base_mail - - - - - - - - - - - - - - - - - 0 - 0 - base_umask - umask - - - The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values. - - - - - - - - - - - - - - - base_needed_space - 0 - 0 - 0 - - - base_allow_spaces - 1 - 1 - 0 - - - base_installdir_should_be_empty - 1 - 1 - 0 - - - - - - - installdir - Installation folder - Select a folder: - Please, choose a folder to install ${product_fullname} - - 1 - 0 - 0 - prefix - components - 32 - - - - - - - - - - - - - - - - - - - - - - - - - - - base_stack_name - base_stack_version - base_stack_platform - - - base_user_firstname - base_user_lastname - base_user_name - base_user - base_mail - - - - - - - - - - - or - - - - - - - -The selected folder is not empty. Specify a different folder. - - - - - or - - - - - - - - - - - - - - -Installation folder cannot contain spaces. - - - - - - - Installation folder cannot contain spaces. - - - - - - - - The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only. - - - - - - - Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}. - - - - - - - 0 - Couldn’t get free disk space. - - - - ${installdir} - freeSpace - MB - - - There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname} - - - - - - - The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - upgrade_stack_prompt - Found previous installation - 0 - We have detected an outdated version in that directory. The installer will upgrade your current installation - - - - - You don't have enough free disk space to accomplish the upgrade process. Please select another directory for a fresh installation or get more free space (required at least ${upgrade_required_diskspace_mb}MB) - - - ${installdir} - less_or_equal - ${upgrade_required_diskspace} - - - - - - - - - - - - Installation folder cannot contain spaces. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml b/installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml deleted file mode 100644 index c6fad7dd88..0000000000 --- a/installer-resources/src/main/resources/bitrock/base-tomcat-settings.xml +++ /dev/null @@ -1,12 +0,0 @@ - - setvariablestomcat - //Set Installer Variables Tomcat - 1 - 0 - 1 - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/base-unix-service.xml b/installer-resources/src/main/resources/bitrock/base-unix-service.xml deleted file mode 100644 index 78cbf3d4a3..0000000000 --- a/installer-resources/src/main/resources/bitrock/base-unix-service.xml +++ /dev/null @@ -1,651 +0,0 @@ - - - - baseunixservice - //Install application as a service on Unix systems - 1 - 0 - - - baseunixservice_priority_start - - 80 - 0 - - - baseunixservice_priority_stop - - 30 - 0 - - - baseunixservice_restart_function - - - 0 - - - baseunixservice_restart_command - - stop "$@" - start "$@" - 0 - - - - baseunixservice_install_as_service - Install as a service - Install ${product_fullname} as a service? - If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup. - 1 - 1 - 1 - - - - - - - - - baseunixservice_script_name_test_ctlscript - - 0 - 0 - 0 - - - baseunixservice_script_basedirectory - /etc - /etc - 0 - - - baseunixservice_script_name - Service script name - The ${product_shortname} service script file exists. Use a different name for the service script. - Service script name - - ${product_shortname} - 1 - - - The service script file exists. Insert a different name for the service script. - or - - - - - - or - - - - - - - - - - - - or - - - - - - - - - - - - - - - - - or - - - - - - or - - - - - - - - - - - - or - - - - - - - - - - - - - - - baseunixservice_script_basedirectory - /sbin - - - - - - - - - - - - - - - ${baseunixservice_script_basedirectory}/init.d/${baseunixservice_script_name} - #!/bin/sh -# -# chkconfig: 2345 ${baseunixservice_priority_start} ${baseunixservice_priority_stop} -# description: ${project.fullName} -# - -RETVAL=0 - -start () { - ${installdir}/${component(script).parameter(ctlscript_unix).value} start "$2" - RETVAL=$? - if [ -d "/var/lock/subsys" ] && [ `id -u` = 0 ] && [ $RETVAL -eq 0 ] ; then - touch /var/lock/subsys/${baseunixservice_script_name} - fi - -} - -stop () { - ${installdir}/${component(script).parameter(ctlscript_unix).value} stop "$2" - RETVAL=$? -} - -${baseunixservice_restart_function} -case "$1" in - start) - start "$@" - ;; - stop) - stop "$@" - ;; - restart) -${baseunixservice_restart_command} - ;; - *) - ${installdir}/${component(script).parameter(ctlscript_unix).value} "$@" - RETVAL=$? -esac -exit $RETVAL - - - - - - - - ${baseunixservice_script_basedirectory}/init.d/${baseunixservice_script_name} - #!/bin/sh - -PATH=/usr/sbin:/usr/bin:/sbin:/bin -export PATH - -case "$1" in - start_msg) - echo "Start ${project.fullName}" - ;; - stop_msg) - echo "Stop ${project.fullName}" - ;; - start) - ${installdir}/${component(script).parameter(ctlscript_unix).value} start "$2" - RETVAL=$? - ;; - stop) - ${installdir}/${component(script).parameter(ctlscript_unix).value} stop "$2" - RETVAL=$? - ;; - restart) - ${installdir}/${component(script).parameter(ctlscript_unix).value} restart "$2" - RETVAL=$? - ;; - *) - ${installdir}/${component(script).parameter(ctlscript_unix).value} "$@" - RETVAL=$? -esac -exit $RETVAL - - - - - - - ${baseunixservice_script_basedirectory}/init.d/${baseunixservice_script_name} - 755 - - - - - - - - - - - 0 - 0 - mkssys - -s ${baseunixservice_script_name} -p ${installdir}/ctlscript.sh -u root -S -n15 -f9 -a start - - - /etc/inittab - inittabFile - 0 - 1 - - - 0 - 0 - /etc/inittab - ${baseunixservice_script_name}:2345:once:/usr/bin/startsrc -s ${baseunixservice_script_name} - - - - - - - - - - - - - - - - chkconfig - --del ${baseunixservice_script_name} - - - chkconfig - --add ${baseunixservice_script_name} - - - - - - chkconfig - ${baseunixservice_script_name} 2345 - - - - - - 0 - 0 - baseunixservice_info - chkconfig - --list ${baseunixservice_script_name} - - - - and - - - - - - - - - - - update-rc.d - -f ${baseunixservice_script_name} remove - - - update-rc.d - ${baseunixservice_script_name} start ${baseunixservice_priority_start} 2 3 4 5 . stop ${baseunixservice_priority_stop} 0 1 6 . - - - and - - - - - - - - - - - ${installdir}/${component(script).parameter(ctlscript_unix).value} - apache start - - - - - - - - - - /Library/LaunchDaemons/${baseunixservice_script_name}-mysql.plist - <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Label</key> - <string>${baseunixservice_script_name}-mysql</string> - <key>ProgramArguments</key> - <array> - <string>${database_binary_directory}/mysqld_safe</string> - <string>--defaults-file=${database_root_directory}/my.cnf</string> - <string>--port=${database_port}</string> - <string>--socket=${database_root_directory}/tmp/mysql.sock</string> - <string>--datadir=${database_root_directory}/data</string> - <string>--log-error=${database_root_directory}/data/mysqld.log</string> - <string>--pid-file=${database_root_directory}/data/mysqld.pid</string> - <string>--lower-case-table-names=1</string> - </array> - <key>RunAtLoad</key> - <true/> -</dict> -</plist> - - - - - - - - - - /Library/LaunchDaemons/${baseunixservice_script_name}-postgres.plist - <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Label</key> - <string>${baseunixservice_script_name}-database</string> - <key>ProgramArguments</key> - <array> - <string>${database_binary_directory}/postgres</string> - <string>-D${component(postgres).parameter(postgres_root_directory).value}/data</string> - <string>-p${database_port}</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>UserName</key> - <string>postgres</string> - <key>GroupName</key> - <string>postgres</string> -</dict> -</plist> - - - - - - - - - ${tomcat_server_directory}/scripts/ctl.sh - daemon - - - - - - - - /Library/LaunchDaemons/${baseunixservice_script_name}-oo.plist - <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Label</key> - <string>${baseunixservice_script_name}-oo</string> - <key>ProgramArguments</key> - <array> - <string>${libreoffice_directory}/scripts/ctl.sh</string> - <string>daemon</string> - </array> - <key>RunAtLoad</key> - <true/> -</dict> -</plist> - - - - - - - - - /Library/LaunchDaemons/${baseunixservice_script_name}-mongrel.plist - <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Label</key> - <string>${baseunixservice_script_name}-mongrel</string> - <key>WorkingDirectory</key> - <string>${ruby_application_root}</string> - <key>EnvironmentVariables</key> - <dict> - <key>RAILS_ENV</key> - <string>production</string> - </dict> - <key>ProgramArguments</key> - <array> - <string>${ruby_root_directory}/bin/mongrel_rails</string> - <string>start</string> - <string>-d</string> - <string>-e</string> - <string>production</string> - <string>-p</string> - <string>${mongrel_port}</string> - <string>-P</string> - <string>tmp/pids/mongrel.${mongrel_port}.pid</string> - <string>-l</string> - <string>log/mongrel.${mongrel_port}.log</string> - </array> - <key>RunAtLoad</key> - <true/> -</dict> -</plist> - - - - - - - - - - - - - - - - - - - ../init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc0.d/K${baseunixservice_priority_stop}${baseunixservice_script_name} - - - - - - ../init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc1.d/K${baseunixservice_priority_stop}${baseunixservice_script_name} - - - - - - ../init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc2.d/S${baseunixservice_priority_start}${baseunixservice_script_name} - - - - - - ../init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc3.d/S${baseunixservice_priority_start}${baseunixservice_script_name} - - - - - - ../init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc4.d/S${baseunixservice_priority_start}${baseunixservice_script_name} - - - - - - ../init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc5.d/S${baseunixservice_priority_start}${baseunixservice_script_name} - - - - - - ../init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc6.d/K${baseunixservice_priority_stop}${baseunixservice_script_name} - - - - - - - - - - - - - - - - - - - ${baseunixservice_script_basedirectory}/init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc1.d/K${baseunixservice_priority_stop}${baseunixservice_script_name} - - - - - - ${baseunixservice_script_basedirectory}/init.d/${baseunixservice_script_name} - ${baseunixservice_script_basedirectory}/rc2.d/S${baseunixservice_priority_start}${baseunixservice_script_name} - - - - - - - - - - - - - - - - - - - - - - - - chkconfig - --del ${component(baseunixservice).parameter(baseunixservice_script_name).value} - and - - - - - - - update-rc.d - -f ${component(baseunixservice).parameter(baseunixservice_script_name).value} remove - and - - - - - - - ${baseunixservice_script_basedirectory}/init.d/${component(baseunixservice).parameter(baseunixservice_script_name).value} - - - - - - - - - - - - - apache mysql tomcat - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/base-write-properties.xml b/installer-resources/src/main/resources/bitrock/base-write-properties.xml deleted file mode 100644 index 220d7f06b3..0000000000 --- a/installer-resources/src/main/resources/bitrock/base-write-properties.xml +++ /dev/null @@ -1,76 +0,0 @@ - - basewriteproperties - //Base Write Properties - 0 - 0 - 1 - - - - - - - - - - - - - - ${project.fullName} - ${project.version} - ${baseplatform_name} - ${installdir} - - - - - - ${project.fullName} - ${project.version} - ${baseplatform_name} - ${installdir} - ${baseservice_name} - - - - - - - - - - - - ${installdir}/properties.ini - ${base_user_firstname} - ${base_user_lastname} - ${base_user_name} - ${base_user} - ${base_mail} - - - - - - ${installdir}/properties.ini - 0700 - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOS.dll deleted file mode 100644 index 5d9321f4e9326ba954f08cb710bd905c66ede1da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81920 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 diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/Win32NetBIOSx64.dll deleted file mode 100644 index 3223903b2dfe05c42420170251029d1177b65e67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83968 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
*4%F^tNtQ;>2iGlZGF_IImUoq+6 z%nc6Wc*7KD;+XW{@q^GnvA*g&1KWEs^(d&vu$d1=O%X<6k!EAgAf%C_ozO3E@gzru$modMIltS(9?N zLb^ca6dJ}wflt)6)rWGHpKK~EYhbB&8GBm351>Q}V_SVmgwP~>MjfrYgq=8zYTM_G zv34UR`3{x~LeLdj(|)cdac~ayNo6t!8=l{9*W^@w*=-FiOoHP3cil1=loNC>wli_$ zneBbEM&TSA$9#gRii2+rgYkvhl3FiLEEc89cp;wVo=xQ69r7m6FO46o)5=ulxRbw# z({i2USADmm*A3-g;}P2j*Cj|!EcIJL$|KhT9?Fhy-XY&v@r3?b zy(J>Ew|Qq}nAjPcJJ!{Oc8z{pP?~o@b-^)0g_~DM%C)3e%}_7L8I%*ErI=X=V7qk% zx#)GAqfG6XP4<7w*{bOc*16di=@`(2uJf zFZB+k1tl*c9eLYLpa$L^^CzK-u#x>6X39DhyI<6h+0rUim^zrF)_d2z(EI4@)(r># zo0!Ymy^YMZJMZ)nPEdNDz3;j0@sEoaTeEzR3<%&(!H^rjFN=hZXMxxO91Yjqh3hXT$c8AS& z_5DBEPz}fz0YAwm=D^c2?zlbW`+z<+Moy3lBj!b=IPu$jEa~rx$Y%k~P-&;6cB}6M z2031YZ~gs=#)hPRfXXPWuZ2C+jtcfn|8Xf5Iy{3*NTO-ea@gAYHl4EIr zXSNpV_9CA4KKxBZKSW9^q_M#~hASj(u%!7U4PD$8kn~-WZb`ZZ%w8j@os!xe`%QR( zB`t&(bj!sP7a;YQ37667^WbLj7fywX`OqR?W-MTkVXw{dNHK`@i=qN1DF%^Nl4DYq zL3p8sQ^KHl$}KcigyX}7SqAmiyl5$C;@{*?sI*%s(Miq1puzB>LKp<$2Iyw^?q#BX z>`lcULKu4DtN4Qp`xea~cp+@bu}Sl%t$;s~OnXA#ZlNy(kCa0Ci%NwFVN23>N!m6^ z+XP&SL&CnPFfyVc(+qNx*#FD;vmE~DK2-Rd;~3Dtx2*&dxVm+6HKW*71m|OCjIho; z6@9?>qIj1X`?X77;$+-%oX=p1Rj3GewE0{=J|^wfwKufnGHX%DKIa-2eWZsIJq{>k zo9z3u;2cI&PCWT5H;xR&!LqI}f|m4%>#^vtH50{cStUk|mmsFL#D`dO}$?7>H( z_1TX-rnY=NZn`ke z@9zcT%y~_jai(B=>EYi};iNzzUXHfUIqhiF1ON-Q+u}Vd=E=tN3>#+8F?2!U}P*u=AHnH zwRZz6zK4fOW-Pu8O>@G?O>Ta#D;-6p`Nc>8hWKTrT?3x_;{O1AzN`C;KBCBdBypb#KG{GsCp5rhr-9!bLWyvyPGh#0W9L)=+HHs|NlC zR(=Dr=V^+p6-`*ENH^os_72zgXkEZgztuqWSuV?vT$UUQke}@NxHH8toFxijE+OU2 z4LEN&I)Kra<6nv3_lYaT#mORBBX+K^c$OH;Ghx|uKC88sg;9f5)1T6`^-ZzZ!73nU zl;>joo=ym^vWAe4^{a^v3ud>V4p@jiGr;=nb@4-plZ+b38^WTjb$xgj>^mWtwSE3i zduIYzb#XQNx!FhpAqgaqu*hW*qbNi`8$fLW2_~9ABoR zGdHxZ9}LT3B)lmzXWF|rjN>Ic10Ua6{Z>0G?j6#>DWYB@Qvbgnr%#4iwhNIJD1bc10hdtoI3*y=sG$6D4ZLQl`^6v?u)Mugb7@2Ek03c)3E&xCIoC z7aKK)M%$AnH)p*pW_D|8g zCMI3+J<7|w&g)cxV$Q8Q z-_J=~6-W**=2@5AVfEogg!VmV)jv{hpjAb`!{%3lu?jiADyQKHA4FC7w2Lh5PmVn@$Nh+71i^VXrn)|q$>!FoP%76^P{kDa>> zaPTn-0Ew2s&|{xO;vawICb8ndPe~%eoR&5oosy*rBx(uTE<&D2+)XcIXV`53fh$dqC16N9RO-EG_cT5YhXcicW^)uykzv@)C335s9V@UNhzC zL{i?9{Wj^^rg*T9x;3rw@Bw*f^)b3Ea{r2GniQT6(BmvhreFqRnU=dxrMlW@enpX& zlY8=dg$a$4Jf-F9do)&9*cIMndn4KQ2%?=2ewz{)eiMGh+pWT^_2izv?n-zbg!wme zjp&2nwVd7Z&E<7BQp)I?mlAH$uk+XCrR9cFrywFS>38U1&y&|5MF{8SAsq72x=WMf zt<%M#)tNi;pK(vTLnb?vVJzqxN7szix1ce(>q|U`($TYroh1L`J6z62Kn*iBoO&U5 zUFu6X<%ZTX;i|kfPu_HX4j;4+J;yalRyvRQjL_Y?x&b0RJZ=x`+MH=m-k6ZPzQB{a zPDeWwmm7N07<2f7bmHpk$N`!YS6_<(CoZnPhbcF-WfQsNhTagVG=$;MmRl7yJsK0p`tk%+{V=iqwr`oeRQ z@*ibGB)>$fi*4C>o(3l7^VlCHGaNH^bcX*n5?+t%$X_qxfPBD1zQVOT=9y<$H4F^D ze299LGrZ0~{BHI8-xGG#F5VCl?s>vlh82eLVm0MZEVmiVVmyL5nmSn1o48u^5{52C z8ufDfio9i(;ekcoEt8(A_wYgSO?0wZg(HckezQ?h8*c; z2-nyg-UZzy%w;Tr3yc>>Q$4zfff=Sq&_waG*0kq^o?#Y+V`9$?_U&TIp(Ix+ZPDbr z;k-UyadW4xgY~mJIS9)7&e5YQZn7@3#APflIiZ~gMGg_AW`&_QL_Im}t0^US-Hl11 z`=#L_lOKa)$R8zo%}Ubrl!$IdeGl_ZVouvd<4at<0At~L-Lyk{L(g^57j7X6je-|@ zfoE+CpzMXA_MTOnJX(%HekFA!jdo8ieK+y;x3HpZsiPqDWa3w7Pc*25U?L zc4cfg-JznSTqzr6wiPyilu*1bFE%jV)LG&BB4@=D`VBRvbr*)$4W zCp{akyn%9t7(GLbo*_oh5Tj>^(K94ptY`FG?<sUJ|%(jEt!Sv?rBQO~7fgAtB&=XPrLYF4K8vC(rw;4l%K_ zNJrUIk7t}(hKQRmL%El>-6H4Q-Wnt^UmJ@mzTc(H_?w9abGBEGO zjL{pe_)r#i=p2_%&ooO2Q{P3uFrKW`u#Dj62|!qjhWo|D~}1hGRHNGH*;Jj za~vy-U^a6cbDNL3tu})>j&q$G)0pG#tS6kF<6=Y6m$T_C3UxB8Nn=6U-&)=iO?X2a#3SK z{*=%U*5bs|XX7wGiq=_@qWgd1nu(;vJKQJ=zfXoPA+PS z?%Q;*rXJH)=sB6SccdMX&;BzlN#>~i-CZ9+AqjUT;byOo8Y6xG>G1sJ()Wv+ z=;@l^&~tW}W;M_EiMY_Bv}uK*_05!2w%MVV=!i#CGw}%>S#iA`X)l(M_F?)6$_B5P z_Cx^PT{=w$$)~%D9lmBDH0#?hlmW90VzkT;>3X#!p;)fYa_X0rOAL|L1r0 ze{$lLp7V^`xioY7GyOk1SNDJE@zSk}bpOx9wg;Q(|EwyV7bVi^XMJoseU;pz`=!TA zpN5E}iI@*URu%^fh$QSG1l2eMnLe8@`9_HL5C-!ap#EwD32L!5a=4Lq>R| zF=U39YeV1gwZaiKRR$h-@=k;Ww-mrUdG?rlAb zs^>I){?hw?HB;_a+gL$$A5C{1O4}E(DXdSrzfUeNmf~gelrL(e-j%!5817OJ?f4Y; zty6pC)BC=4^Yx#2--QXWDTAvcPc*UQNCN5s_(UHVu zFF@EuA;M34Josx(+p2JE!H%Q<)W4gSqV%uxXkp}w1(O~xSo1{SF`h|@C?rQx!W_P+ zciQUr1EcdFdn*a^P|Sm^IT3ST;~cg6{oq=O<|>UotvGnkP0o1=D@_^GX&-WI#n}}y z`*Lhm%=6=-P`EJko;`!-ScC5gt)Yv{tXya$3<{^Ej%#3d#{D5n39TEmkUdZqkL|4n z&2RcC{NQkqRk|FEv*_3>39ycqRHhBDVfh*u<%C`=p;N+3HcM#Il%Sks67>CMnHnO3 z<5uZ}IfTdC9>Ux8J)yhickM0uOQMR_1rZ2*KX`ulY?f^&?uZ+g9X)!S^JZ4Eb65p) zm=@^Ad04~^+xa`@=6mJUeKQov>cuY$)GB)F1w2n#e-#S9m}OlLSk7lY;3IJczzm2^MwU{9tVMt=BUSKM_$B`koYF(u?La>x09n zbZ?OYA>kW!anAegQIsh0k>^((%sk}H`Jg?Lz=3ntUwHR<>C3E#_fV7$@z|3&)1GNe zU-c}XEPc0OEPsMg)1F#7eATm2BFstWJ>Ay^9%^Io6y{-N@m#Q$|T@?D2# zx8NTY9LZl#aAxS&t2!bAu`B*bIhvRCVM+Sp@BF> zJVJ1)UbQi)$6;)B<_+6QYzdr5*w(J5W+EIUh7NZ=2=w zr5HI?m>jM;K|xv?bU`LZHN+(D_-iVCamQZ=9O40E!UHQbMS+a)+fZtW*v}h*P{Ky* zl@NYG3L!$8TH-6=Iy}O^!VL}5Y+d+TkoI&nF&+r&vEFW_Y{TUH6*Q$PJ4s0UL-1hi zst+S>N?P?{WN=t0`amPp$YLiH{R+l)2`@Pg;onmiCmvI0Q$Rg9=-8%x%6%M*k_q9q ze;GA}sBX~&^L6#b>>SyHLkpMmFZ5?gEr(OlqPp_MYZ-9^@#fn9f!)Xu{(P@)2)N1m zDts^2_oIJCu!z9I{Pnl#J>JpOUnEjEswtCi&TQA)nB~>N*VS76waCy&y~;RFH_S|B zd=M9J{(7@X6bk~%MK%@o;8QW0H(`6Jch}VGl%E-y?ltW+dbmkGQ_|qeI*~h|Q`8!G zBQYFJ4JSa_y68AarpQL_SKp_F68_FasW0?d?V)j=hfNi5gXXdC7>|p@W0muS!>-4> zudE)SeNo(3_^MJ8Ja<(lqk*H3<`zE(3HpwY14BocRo{hvIehCI68~uwowmdY2~UT! z5aFdGp3Q8srhT~`U=c9AI73#;3E@4>#MnI}gF>PRHcgOD)yYAcn!`8gUo6zjC2p}y zv{3NMqe3)nWL5jEc1HKp!lj6?nXN-zB-Zsj>G}tX>eeF3JwSPJ9BmK6qux<-~4*TnEY{MOhrk;wsyI zVr*de$FQ^e%NVayehRYoUhuTxzq?&zrtZ-^v0uhG^|!e7_%g=fTkVI%#)hxxN=rU9 z$wh&y*w5FQPh#9mxkkT6Q8~XmY(6M<7Eb=(NzHKJw&|7On69grA|J z;_yP!?8#1%cg^CI^Zv_eBa^iB4aa2kkeml&V9|~!Rw}Fl$I@G#ir0l0Yz7?U7&1hP zDuba$R&5>|l)d|sZj$=l_) zy|Cg?*HI@2qTyxNb0B(F*L6tXL6mD^I}6qQKYXEr|URpzQc9OiL0NYkSNUxoX1y&Lr;rnIb&v){K*Wh*^Z|Sq4L$R z=k%S*(bU^?Ye-!EHT()f9~@ixDRdAe8oh5$|r;)UDJa>6!>&Tp<&dslQ$y`kD zyTKNwGmvxK_=ad&=F!w7(-KkL`ds)m_V+Xfy_gnRaBhj#d3xUOJV+4zo!_ENIi`JT zkyx*6;+WRYF)a&4+Fgit$4w2#wE6k#f7DE2>`CpU7x}V8{J~%U-A*-T{nx}cl_j8F z{-Ip0;+0+5VMmTCzKQf<7YXh!3^litR^hbh%1YVBv1)P2Q5C!7sGeD*cV=67C@K3m zhBh5mU(iJVxSaObEl1TVVH3j}?sA1KKE52)d^&HLmZPHC7s><8E?sFl8@?QLzBKn` zXUHxP;?~NRgZ;&2qj#|yFH?!DcToUGqUzv-Sn}6BtS?@8Xv?h+qNcI3DG9%~MK31@ z$)!;4+680s$a<#A(Hr7Ji8$oqkcR^q=rKYj5;^DN@)G49p_~-cIHk$u@bwU=l}0B^ zgKRN*!+XP0b0%|!(?MC3&Flu|TgfQiXbnmHB@rz3;#)XoewV$L;tN=~?0FPNH#LiOMAI zo=7x}Fw4wWtKN3z&k<5>J(eT(J++*Ygj2!#K7EMAeAfn`jEPl)4k1dW(HQ~}M9%J#j7GGrXRTf`o z@f{X#wz%EmS1o?WVrA(_v3QilnHJ|-Tx#(mi|Z_2YVmCrf6wAg7Voh5DU0`8{FcQL zgKhaNo@nt!7FSw)oyFg@xXt2+Eq=!0KUw^-#r-Y6hgf`u#phXEYH^LlO%|`T*lB0V z)_1(cr&#Rx_c4a%&DQ;U7T;tshc)tR=C)sBmO2_sH|N*PZMDV>92&D>)|fS~#%yUd zM&?E1dW$(x(DoXe&jO1JExy2F*%|X|4p?lsu9}Tisl7IwV?Po0Hp&worIMNr&b-^; z-r`ct{4NE4J*DP-EHCEJ5xVomiZbF?e zu&BDeal*3dx=9l!%&V?ztgpCcmM<{9V0KAfQ-#kTsIIS5rv|5iNDss3B2s#T*h9Q!2yQk_aQDJ_&_NoTo^>m$_#YK97u zY6Gd(k=_hduWc)Vt z?sReP;l7A4#+9|64&%fquMqx=-;DaYI$uSgE8!BKldeuq&GA+Es+V>XWbK8%x+Q_C zu2}H1E1pBEiC^Li%&M=OUPB?P>y~s!DDl;FWh-Sj<;+{^t26aEqo%&m*KJj{{qzpj z<=!i}<36vvIxw@op(t1rsP@;G1U0K|dO8O~i=o$XuM5`FR+rT`T%&_H)uZz8Fr~MEN~l+pUgIbDcf}V5x*~VQ>*a1zWjx6B=zi|cGdP2m7NoV- zC{yDZb-|h%r}Bx!dN)Qk97!rNM#V%VMdjt?iGqXZb24eW{4%^*#q;~bsxM_`&MRiL z^m=2(Ikv2-jGt0X{w990giw7{Y%D02e`3|Y8TAc$P1S+ohWZL$BiyQG9BAX`k+CrZ@+~8iAl)= z2BxGA8l09sWazNrr;PB995s5(sbf#eIQ@)qXPz~FLgv{MCrv)*+%IKKnL6#f^Dp>v zcFyz}xp^}$%rCg;;=-a?vx_g8Q&M{A+LrEl?)s_Lt+sj022 z_g~x47zi$1*0lV(>usJ+`N|3 zXPlN*Jg*skz_jAxwG_jf(Y&^qSPHgPRaM2t_G$9_m-+q2@T(zM7pSiFd41A~yh
b&KCe@%5oxs0yfs`5r} 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 diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat deleted file mode 100644 index 50ba8233ab..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.bat +++ /dev/null @@ -1,42 +0,0 @@ -@echo off -rem ------- -rem Script for apply AMPs to installed WAR -rem ------- - -set ALF_AMP_PARAMS= -set ALF_AMP_NOWAIT= - -:ParamsLoop -if "%~1"=="" goto ParamsLoopContinue -if "%~1"=="nowait" shift & set ALF_AMP_NOWAIT=yes& goto ParamsLoop -set ALF_AMP_PARAMS=%ALF_AMP_PARAMS% %1 -shift -goto :ParamsLoop - -:ParamsLoopContinue -set ALF_HOME=@@BITROCK_INSTALLDIR@@ -set JAVA_HOME="@@BITROCK_JAVA_HOME_WIN@@" -set CATALINA_HOME=%ALF_HOME%\@@BITROCK_TOMCAT_DIRNAME@@ - -if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat" - -:start -echo This script will apply all the AMPs in %ALF_HOME%\amps to the alfresco.war and all the AMPs in %ALF_HOME%\amps_share to the share.war in %CATALINA_HOME%\webapps -if "%ALF_AMP_NOWAIT%" == "yes" goto nowait1 -echo Press control-c to stop this script . . . -pause -:nowait1 -"%JAVA_HOME%\bin\java" -jar "%ALF_HOME%\bin\alfresco-mmt.jar" install "%ALF_HOME%\amps" "%CATALINA_HOME%\webapps\alfresco.war" -directory%ALF_AMP_PARAMS% -"%JAVA_HOME%\bin\java" -jar "%ALF_HOME%\bin\alfresco-mmt.jar" list "%CATALINA_HOME%\webapps\alfresco.war" -"%JAVA_HOME%\bin\java" -jar "%ALF_HOME%\bin\alfresco-mmt.jar" install "%ALF_HOME%\amps_share" "%CATALINA_HOME%\webapps\share.war" -directory%ALF_AMP_PARAMS% -"%JAVA_HOME%\bin\java" -jar "%ALF_HOME%\bin\alfresco-mmt.jar" list "%CATALINA_HOME%\webapps\share.war" -echo . -echo About to clean out %ALF_HOME%/tomcat/webapps/alfresco directory and temporary files... -if "%ALF_AMP_NOWAIT%" == "yes" goto nowait2 -pause -:nowait2 -set ALF_AMP_PARAMS= -set ALF_AMP_NOWAIT= -rmdir /S /Q "%CATALINA_HOME%\webapps\alfresco" -rmdir /S /Q "%CATALINA_HOME%\webapps\share" -call "%ALF_HOME%\bin\clean_tomcat.bat" \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh deleted file mode 100755 index 46aed5d1fd..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/apply_amps.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash -# ------- -# Script for apply AMPs to installed WAR -# ------- -export ALF_HOME=@@BITROCK_INSTALLDIR@@ -export CATALINA_HOME=@@BITROCK_INSTALLDIR@@/@@BITROCK_TOMCAT_DIRNAME@@ -required_java_version="1.7" - -if [ -f $CATALINA_HOME/bin/setenv.sh ]; then - . $CATALINA_HOME/bin/setenv.sh -fi - -# Verify Java installation into ALF_HOME folder -if [ -f $ALF_HOME/java/bin/java ] && [ -x $ALF_HOME/java/bin/java ]; then - echo - echo "Found java executable in $ALF_HOME/java" - _java=$ALF_HOME/java/bin/java - -# Verify Java installation into JAVA_HOME -elif [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ]; then - echo - echo "Found java executable in JAVA_HOME: $JAVA_HOME" - _java="$JAVA_HOME/bin/java" - -# Verify Java installation from linux repositories -elif type -p java; then - echo - echo "Found installed java executable on the system" - - _java=java - -else - echo - echo "Java is not installed . . . The required Java version is $required_java_version or higher" - echo "Please install Java and try again. Script will be closed. " - read DUMMY - exit 15 -fi - -echo -echo "This script will apply all the AMPs in amps and amps_share to the alfresco.war and share.war files in $CATALINA_HOME/webapps" -echo "Press control-c to stop this script . . ." -echo "Press any other key to continue . . ." -read RESP -{ -$_java -jar $ALF_HOME/bin/alfresco-mmt.jar install $ALF_HOME/amps $CATALINA_HOME/webapps/alfresco.war -directory $* -$_java -jar $ALF_HOME/bin/alfresco-mmt.jar list $CATALINA_HOME/webapps/alfresco.war -$_java -jar $ALF_HOME/bin/alfresco-mmt.jar install $ALF_HOME/amps_share $CATALINA_HOME/webapps/share.war -directory $* -$_java -jar $ALF_HOME/bin/alfresco-mmt.jar list $CATALINA_HOME/webapps/share.war -} || -{ - echo - echo "Error. Appling of the AMPs is failed. See error message above." - echo -} -echo "About to clean out $ALF_HOME/tomcat/webapps/alfresco and share directories and temporary files..." -echo "Press control-c to stop this script . . ." -echo "Press any other key to continue . . ." -read DUMMY -rm -rf $CATALINA_HOME/webapps/alfresco -rm -rf $CATALINA_HOME/webapps/share -. $ALF_HOME/bin/clean_tomcat.sh diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat deleted file mode 100644 index 8d78daba1a..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.bat +++ /dev/null @@ -1,13 +0,0 @@ -rem @echo off -rem --------------------------------- -rem Script to clean Tomcat temp files -rem --------------------------------- - -set ALF_HOME=@@BITROCK_INSTALLDIR@@ -set CATALINA_HOME=%ALF_HOME%\@@BITROCK_TOMCAT_DIRNAME@@ - -echo Cleaning temporary Alfresco files from Tomcat... -rmdir /S /Q "%CATALINA_HOME%\temp\Alfresco" "%CATALINA_HOME%\work\Catalina\localhost\alfresco" -rmdir /S /Q "%CATALINA_HOME%\work\Catalina\localhost\share" -rmdir /S /Q "%CATALINA_HOME%\work\Catalina\localhost\awe" -rmdir /S /Q "%CATALINA_HOME%\work\Catalina\localhost\wcmqs" \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh deleted file mode 100644 index cb5de8d967..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/commands/clean_tomcat.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# --------------------------------- -# Script to clean Tomcat temp files -# --------------------------------- -echo "Cleaning temporary Alfresco files from Tomcat..." -rm -rf @@BITROCK_INSTALLDIR@@/@@BITROCK_TOMCAT_DIRNAME@@/temp/Alfresco -rm -rf @@BITROCK_INSTALLDIR@@/@@BITROCK_TOMCAT_DIRNAME@@/work/Catalina/localhost/alfresco -rm -rf @@BITROCK_INSTALLDIR@@/@@BITROCK_TOMCAT_DIRNAME@@/work/Catalina/localhost/share -rm -rf @@BITROCK_INSTALLDIR@@/@@BITROCK_TOMCAT_DIRNAME@@/work/Catalina/localhost/awe -rm -rf @@BITROCK_INSTALLDIR@@/@@BITROCK_TOMCAT_DIRNAME@@/work/Catalina/localhost/wcmqs \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties deleted file mode 100644 index 7e11c7fd7f..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/ServerInfo.properties +++ /dev/null @@ -1,2 +0,0 @@ -# ACE-4531: Override the file from catalina.jar to hide the complete version of Tomcat. -server.info=Apache Tomcat/7.0.x diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties deleted file mode 100644 index 893b2c7b05..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/alfresco-global.properties +++ /dev/null @@ -1,71 +0,0 @@ - -############################### -## Common Alfresco Properties # -############################### - -dir.root=@@BITROCK_DATA_DIR@@ - -alfresco.context=alfresco -alfresco.host=@@BITROCK_TOMCAT_HOST@@ -alfresco.port=@@BITROCK_TOMCAT_PORT@@ -alfresco.protocol=http - -share.context=share -share.host=@@BITROCK_TOMCAT_HOST@@ -share.port=@@BITROCK_TOMCAT_PORT@@ -share.protocol=http - -### database connection properties ### -db.driver=org.postgresql.Driver -db.username=@@BITROCK_DB_USER@@ -db.password=@@BITROCK_DB_PASSWORD@@ -db.name=@@BITROCK_DB_NAME@@ -db.url=jdbc:postgresql://localhost:@@BITROCK_POSTGRESQL_PORT@@/${db.name} -# Note: your database must also be able to accept at least this many connections. Please see your database documentation for instructions on how to configure this. -db.pool.max=275 -db.pool.validate.query=@@BITROCK_DB_VALIDATE_QUERY@@ - -# The server mode. Set value here -# UNKNOWN | TEST | BACKUP | PRODUCTION -system.serverMode=UNKNOWN - -### FTP Server Configuration ### -ftp.port=@@BITROCK_FTP_PORT@@ - -### RMI registry port for JMX ### -alfresco.rmi.services.port=@@BITROCK_RMI_PORT@@ - -### External executable locations ### -ooo.exe=@@BITROCK_LIBREOFFICE_PROGRAM_DIR@@ -ooo.enabled=true -ooo.port=@@BITROCK_LO_PORT@@ -@@BITROCK_ALFRESCO_IMAGEMAGICK_ENV@@ -@@BITROCK_ALFRESCO_PDF_RENDERER_ENV@@ - -jodconverter.enabled=false -jodconverter.officeHome=@@BITROCK_LIBREOFFICE_JOD_DIR@@ -jodconverter.portNumbers=@@BITROCK_LO_PORT@@ - -### Initial admin password ### -alfresco_user_store.adminpassword=@@BITROCK_ALFRESCO_ADMIN_PASSWORD@@ - -### E-mail site invitation setting ### -notification.email.siteinvite=false - -### License location ### -dir.license.external=@@BITROCK_ALFRESCO_LICENSE_DIR@@ - -### Solr indexing ### -index.subsystem.name=solr4 -dir.keystore=${dir.root}/keystore -solr.host=localhost -solr.port.ssl=@@BITROCK_SOLR_SSL_PORT@@ - -### Allow extended ResultSet processing -security.anyDenyDenies=false - -### Smart Folders Config Properties ### -smart.folders.enabled=false - -### Remote JMX (Default: disabled) ### -alfresco.jmx.connector.enabled=false \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml deleted file mode 100644 index 47c353a8b8..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/server.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml deleted file mode 100644 index 92dccd8c88..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/tomcat-users.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml b/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml deleted file mode 100644 index 4e1fe55614..0000000000 --- a/installer-resources/src/main/resources/bitrock/bitrock/alfresco/shared/web-extension/share-config-custom.xml +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - false - - - false - - - - - - - - - - production - - - - - manual - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - 1000 - - - 7000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://localhost:@@BITROCK_TOMCAT_PORT@@/alfresco - - - - - false - - - - application/vnd.openxmlformats-officedocument.wordprocessingml.document - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - application/vnd.ms-powerpoint - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - location.path.documents - - slingshot/doclib/treenode/site/{site}/{container}{path}?children={evaluateChildFoldersSite}&max={maximumFolderCountSite} - - - - - - - - alfresco://company/home - - - - false - - - 500 - - - - true - - - - - - - - secret - - ALFRESCO.ORG - - HTTP/repository.server.com@ALFRESCO.ORG - - ShareHTTP - - true - - - - - - - - - - alfresco-noauth - Alfresco - unauthenticated access - Access to Alfresco Repository WebScripts that do not require authentication - alfresco - http://localhost:@@BITROCK_TOMCAT_PORT@@/alfresco/s - none - - - - alfresco - Alfresco - user access - Access to Alfresco Repository WebScripts that require user authentication - alfresco - http://localhost:@@BITROCK_TOMCAT_PORT@@/alfresco/s - user - - - - alfresco-feed - Alfresco Feed - Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet - http - http://localhost:@@BITROCK_TOMCAT_PORT@@/alfresco/s - true - user - - - - alfresco-api - alfresco - Alfresco Public API - user access - Access to Alfresco Repository Public API that require user authentication. - This makes use of the authentication that is provided by parent 'alfresco' endpoint. - alfresco - http://localhost:@@BITROCK_TOMCAT_PORT@@/alfresco/api - user - - - - - - - - - - - - - - \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/common.xml b/installer-resources/src/main/resources/bitrock/common.xml deleted file mode 100755 index 9baa4cdb03..0000000000 --- a/installer-resources/src/main/resources/bitrock/common.xml +++ /dev/null @@ -1,319 +0,0 @@ - - - - common - //CommonComponent - 1 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - common_root_directory - ${installdir}/common - - - 0 - common_distribution_folder - common - - - 0 - - - base_scripts_root_directory - ${installdir}/scripts - - - 0 - - - include_system_path - 0 - - - 0 - - - include_system_ld_library_path - 0 - - - 0 - - include_build_script - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - //Common Files - ${common_root_directory} - common - - - - - - - - - - - - exact - ${COMMON_FILE_LIST} - - - @@BITROCK_COMMON_ROOTDIR@@ - ${common_root_directory} - - - @@BITROCK_PYTHON_ROOTDIR@@ - ${python_directory} - - - @@BITROCK_SET_ENVIRONMENT_SCRIPT@@ - ${SET_ENVIRONMENT_SCRIPT} - - - - - - - - - - - - - - - - - - - - - - ${SET_ENVIRONMENT_SCRIPT} - #!/bin/sh -echo $LD_LIBRARY_PATH | egrep "${common_root_directory}" > /dev/null -if [ $? -ne 0 ] ; then -PATH="${PATH}" -export PATH -LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" -export LD_LIBRARY_PATH -fi - -${ENV_VAR} - - - - - - - - - - ${SET_ENVIRONMENT_SCRIPT} - #!/bin/sh -echo $DYLD_FALLBACK_LIBRARY_PATH | egrep "${common_root_directory}" > /dev/null -if [ $? -ne 0 ] ; then -PATH="${PATH}" -export PATH -DYLD_FALLBACK_LIBRARY_PATH="${DYLD_FALLBACK_LIBRARY_PATH}" -export DYLD_FALLBACK_LIBRARY_PATH -fi - -${ENV_VAR} - - - - - - - - ${SET_ENVIRONMENT_SCRIPT} - #!/bin/sh -echo $LIBPATH | egrep "${common_root_directory}" > /dev/null -if [ $? -ne 0 ] ; then -PATH="${PATH}" -export PATH -LIBPATH="${LD_LIBRARY_PATH}" -export LIBPATH -fi - -${ENV_VAR} - - - - - - - - - ${SET_ENVIRONMENT_SCRIPT} - -. ${base_scripts_root_directory}/build-setenv.sh - - - - ${base_scripts_root_directory}/build-setenv.sh - #!/bin/sh -LDFLAGS="${LDFLAGS}" -export LDFLAGS -CFLAGS="${CFLAGS}" -export CFLAGS -CXXFLAGS="${CXXFLAGS}" -export CXXFLAGS - - - - ${base_scripts_root_directory}/build-setenv.sh - -PKG_CONFIG_PATH="${common_root_directory}/lib/pkgconfig" -export PKG_CONFIG_PATH - - - - - - - - - - - - - ${SET_ENVIRONMENT_SCRIPT} - regexp - - - \$LD_LIBRARY_PATH - $LIBPATH - - - - - - - - ${SET_ENVIRONMENT_SCRIPT} - set PATH=${PATH_WIN} - -${ENV_VAR} - - - - - - - ${WRAPPERS} - exact - - - @@BITROCK_SET_ENVIRONMENT_SCRIPT@@ - ${SET_ENVIRONMENT_SCRIPT} - - - @@BITROCK_COMMON_ROOTDIR@@ - ${common_root_directory} - - - - - - - - - ${WRAPPERS_CONFIGS} - exact - - - @@BITROCK_SET_ENVIRONMENT@@ - ${SET_ENVIRONMENT_SCRIPT} - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/ctlscript.xml b/installer-resources/src/main/resources/bitrock/ctlscript.xml deleted file mode 100644 index c3dfb1845f..0000000000 --- a/installer-resources/src/main/resources/bitrock/ctlscript.xml +++ /dev/null @@ -1,166 +0,0 @@ - - script - //Script for start/stop Services - 1 - 0 - 1 - - - ctlscript_unix - ctlscript.sh - ctlscript.sh - 0 - - - - ctlscript_windows - servicerun.bat - servicerun.bat - 0 - - - ctlscript_install_script_windows - serviceinstall.bat - serviceinstall.bat - 0 - - - ctlscript_start_apache - 1 - 1 - 0 - - - ctlscript_allow_root - 1 - 1 - 0 - - - - - - - - - - - - //Program Files Linux - ${installdir} - scriptsunix - - - ${ctlscript_unix} - - - - - ${installdir}/${ctlscript_unix} - - - @@BITROCK_INSTALLDIR@@ - ${installdir} - - - #!/bin/sh - #!/bin/sh - -# Avoid root execution -if [ `id|sed -e s/uid=//g -e s/\(.*//g` -eq 0 ] && [ $2 != "stop" ]; then - echo "Execution by root not allowed" - exit 1 -fi - - - - - - - #!/bin/sh - #!/bin/sh - -# Allow only root execution -if [ `id|sed -e s/uid=//g -e s/\(.*//g` -ne 0 ]; then - echo "This script requires root privileges" - exit 1 -fi - - - - - - - - - - - - - - - - - //Program Files Windows - ${installdir} - windows - scriptswindows - - - ${ctlscript_windows} - - - ${ctlscript_install_script_windows} - - - - - ${installdir}/${ctlscript_windows};${installdir}/${ctlscript_install_script_windows} - - - @@BITROCK_INSTALLDIR@@ - ${installdir.dos} - - - - - - - - - - - - - - - ${installdir}/${ctlscript_unix} - 755 - 0 - 1 - - - - - ${installdir}/${ctlscript_unix} - start apache & > /dev/null - 0 - 1 - - - ${web_server_port} - 30000 - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/imagemagick.xml b/installer-resources/src/main/resources/bitrock/imagemagick.xml deleted file mode 100644 index 61535d51e5..0000000000 --- a/installer-resources/src/main/resources/bitrock/imagemagick.xml +++ /dev/null @@ -1,284 +0,0 @@ - - - - imagemagick - //ImageMagick Component - 0 - 0 - 1 - - - - - - - - - imagemagick_build_path - ${imagemagick_distribution_folder_windows} - - - - - - imagemagick_build_path - ${build_project_directory}/ImageMagick - - - - - - - - - ${imagemagick_build_path} - *lib/ImageMagick* - imagemagick_glob_version - - - imagemagick_version - ${imagemagick_glob_version} - .*ImageMagick-([0-9\.]*) - \1 - - - matches - .*ImageMagick-([0-9\.]*) - ${imagemagick_glob_version} - - - - - - - - - - - - - - - - - - - 0 - - imagemagick_root_directory - imagemagick_root_directory - - - 0 - - imagemagick_version - 7.0.5 - 7.0.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##### IMAGEMAGICK ENV ##### -MAGICK_HOME="${imagemagick_root_directory}" -export MAGICK_HOME -MAGICK_CONFIGURE_PATH="${imagemagick_root_directory}/lib/ImageMagick-${imagemagick_version}/config-Q16HDRI" -export MAGICK_CONFIGURE_PATH -MAGICK_CODER_MODULE_PATH="${imagemagick_root_directory}/lib/ImageMagick-${imagemagick_version}/modules-Q16HDRI/coders" -export MAGICK_CODER_MODULE_PATH - - - - - - - - rem ##### IMAGEMAGICK ENV ##### -set MAGICK_HOME=${imagemagick_root_directory.dos} -set MAGICK_CODER_MODULE_PATH=${imagemagick_root_directory.dos}\modules\coders -set MAGICK_CONFIGURE_PATH=${imagemagick_root_directory.dos} - - - - - - - ${IMAGEMAGICK_ENV_VAR}${ENV_VAR} - - - ${imagemagick_root_directory}/bin/animate - ${imagemagick_root_directory}/bin/compare - ${imagemagick_root_directory}/bin/composite - ${imagemagick_root_directory}/bin/conjure - ${imagemagick_root_directory}/bin/convert - ${imagemagick_root_directory}/bin/display - ${imagemagick_root_directory}/bin/identify - ${imagemagick_root_directory}/bin/import - ${imagemagick_root_directory}/bin/mogrify - ${imagemagick_root_directory}/bin/montage - ${imagemagick_root_directory}/bin/stream - - - - - - - //imagemagick windows files - imagemagickWindows - ${imagemagick_root_directory} - windows - - - - - - - ${imagemagick_root_directory} - vcredist_x86.exe - /q - 0 - - - - - - - - //imagemagick unix files - imagemagickUnix - ${imagemagick_root_directory} - linux linux-x64 osx - - - - - - - - - - - - - - - - - - - - - - - - - - - - exact - * - - - @@BITROCK_IMAGEMAGICK_ROOTDIR@@ - ${imagemagick_root_directory} - - - @@BITROCK_COMMON_ROOTDIR@@ - ${common_root_directory} - - - - - ${IMAGEMAGICK_WRAPPERS} - exact - - - @@BITROCK_IMAGEMAGICK_ROOTDIR@@ - ${imagemagick_root_directory} - - - - - - - - - - - - - - - - - - - - - ${imagemagick_policy_path} - - - ]]> - - - - - - - - - - - ]]> - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/images/alfresco.icns b/installer-resources/src/main/resources/bitrock/images/alfresco.icns deleted file mode 100644 index 51bbba54ebb1c3614c839cb47fdf0d4863d35e67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246656 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

tF<0Dc$W56UQCA^9bBC0X^fW757)t}* zd0t26paPu+o0F|&WDGXfve~hn39=iC56O6T+T1ObJ{dCe;C_H?_@3*eQarXT`<$4$ zMQ*rwTQ1TDRw&lCdt&5Uy&D6JGam-wjUUDFrDb!WyZBFLZdikjV_im}X>0mZ(Oplfn$+f!aE|Q4Z;I$n^`HE{meKJQz1=6I{go#N*)*RFRu`5HvCwN|Q?lNj&XZ|dT(y`1?~ zKm;2vld$=auwTjuI***_iF9qjU@b~wSjtz(k%w)ErGZ_Zw1c4CrIKtSBKvur=qMaJ zwxF!%#@C4-TQ8cFX=lgY%x@%DAfHKgGTLWYlan4+B@@EeK(r}qm?$aHRX;`h=z-ag z>yBbaAGIEmk%{3C9b?{nRa*~-d)L9$=f-6iK8$%`50O9zHa8LZg@w*Yb{d)611BGP z`P*Y<2;refS1ulYR_j0}JAcF(eMDPE!4f}V+cV-Zhl3-M+s3aN33a7toKnE2d>z&- zTBSaDV6Jx7j!B3x*wF3PZqB-GW`c%yhH9cH7;2;IPQ|YX^qn|yY#$kpDO34irtO4E zh!=La@~RY{3Jd3)ST6?4tKxU!BE)%y!qScthDLf(_I<2sV% zZI6g3*?UA>%x7DDMv0yZgbHP@A$g@XJv57|`2Ic;o;p1d(wGw0#A8AENzaa!knkG@dBtD0zm9jg4TpI9 zq`;ztca8sF;+Mxn# zwtA&oFY#cNXCImu7{LyEpJ2p9u5Q!8ho(4HkyCe8W~lV6m-Uswiwrd`TN;Qb@Ku_% z-{#!4-frsfHe8%bY4}{O!~%&KzIizni-_d{ZWB%3LuQJnwZ-Y>(P@V?-XwdW=X!~( zlngd|4lkVSdTtj-s7lLD=_%ybOmb0IXc&v<%!7*bh?|0y&$u(QKh*iO#U*s$ zgNv0sb9S?gsin6CYyIeEC5B1M#=`@Cn^L93gSV!_BfWceVky*#65E|v(LXgO(A zh`~xRe-J7B*q$S7&s&_~`mFL&zCRnBf5J10bxr=Nsm0RU>I=O~Y_1A2JoiTt-7`C1qS%J8(>G&-4$j5P7nk!)Um$>nE| zNOd#JA*;kvai_J(s=fX-&ZNBR+f!%@`+Gbb`(@`{)sFR9Q)n6X3A}!zY_=k=J@(xC z&4<1xwsJAgSKCV`6VTQfUPbn!Rk7xtTWAU&-p|)RYV=U{8Os~?;72USQe^Q1UUi?= zqG*huJH6J^AD_GZLZ#I`;*4^Wg$HpTT>2a@G>`9aIjyavb$C}-t6+}uXha3k!)KEz z+uB2kG(QNma(Z$oD6p1TM`lXQ?Q(P8eY4y(;PK%bSE-Vxy7!^dBHe}`TRrX4+-o6v z_MHnox_S6+e1s9R-{2)D{A582fJX*tL%d^H(+$3SA?+bhPu{i0tZ> zctb6*zRlATM|L}jYD^04h;cntnO~zNo5n}vh3%ibSrP9hndWP!3t_nV3vI=wwrY6} zuU0;;1$Nx@QrmSncwvtF=tZ|ef1XM6g2_mEVRbWkFTu?x9Nbv=`ScX5s-M#8;Ep%h zGl|%m?})9VV^1hJk+%iu~2sEP2f%m~InoU9Da6sCMh@ z$XIZH$a5^$7bWb>=t}IGYu=Q!McrZt&w(uEqlVFMTZTtZ6+fcxw4La2v^76Pe694N zzBrLb=-%T6RvvFz>E_XtJq8AsYz?mRtII&?x%ga5O=Y88wQ!$Z7?J5zs%&DalH0nZ+^I4jZ)a0`!Um~nrYS3 z{_n_NRu-7cK2b6WXR>>6{T!i1mO6TF2PJ7TJe-6ziG zQtr2FeX&o<^r>0Cwa>GN?Dlh9?Ak)11aEWjA4aVB#Keb3uc6f319M=?)(EbC+W5Ml@9(1o*mwmG*d6*MIoe(c(L*XKC#+ry=n>8SEB+i??GmsN@-8ynG8 zi7=jY4lifpE!D=`*~!m!rAkc^tfss+&p6R}MBm!(aKDLzaSI=hh|xF`KeH=+d#Hf< z@d4fCQ4UuFW7*Q{WdrAK3Wy2XFQu7Cc0c&|>ZXf+@59wcHBM3&-x2JZy=}-v;=6P+ zxA(%zN+&^op5VLIXR3$Yavy&fsChC{ zx_Kp)UZxo)*FDW7RrcFxs*2IU0-WDtm#a{ErsEZ*2QTqiy(21*kFN3d$XrqX0`yKV!M=NO(J9VGiJhx$BHI)|j+P^Z+og2BbcAnvl{C(VK3M~qc z&VPK8S7Rd_P--q>P*-E*%*OL!B-JTBYxZ7>+$bj_Lse3T4xO8$(xPK)Sl@KlHEWgh zvFX*kMyvP}bdpbQFPGE2AV2nC$llaBxaUB;+hAzaF;jJRj^VfCbCw>XZDl81?|3j6 zw(77_+7Oq;J;h%<_S}`94G+5%N6aYx$l<}&m6JR5j|!_&=-O5v>S6WI^SS>1+%)G- zg1qB#gl?ir!Y^NsPrh0ewOR3$pLjQ89X4dEE_eIY=)K_u-R3%mYPx{ zWV)N1W^ZBVS;gV=8uIQqJ|tXx-K{+K@g8L|hQk8%rMIxmq}#6>j$UuHbv<-g(fDJI zh1;Y3L!}bRwrM!2g}aWVh##K~I9R^=8$?j7|fB#iMw%LNllKR-Wam7!H28 ztF?i)zNq(JgGSEKl?NXkj$Z3baIflpJt1aQ&?n`JO`K^V;pOW}%&J!Zq(D!5 z396YLcEzXJPe-Rz8?2Ia^Ky1@S-r)38MECJoy%D_$a(H!*nr|h&9RQzKz$Jn{y_5% zwN7`2QTFEZ0arQ6dd_X05@&vZ7k61)!8rX^?fj|kKGrsx?OZ+e{3kDQ$2jUubyNin zuuu5t`c3p^)(+nbSHGbm!s8|5evztuK>uWdqg}1o$WGBh-%^V<`iTJVJN-JWWzsJ) zj#`+ikF6#1<0@9$QeB*he%s`(XF%)i|TxEZr7_SyyPSrr^3l;0qT1l6(!0}9v;#`@0mi#ighhi zHW%8&yd=6{xaH>H(3?qCnHNp_o_y3@5RkakwqGiE=UZuiMfrDUT1xO@m1gaxPXuSu z=ylTy9(9aX7PBgH=D4A4yHE4+OP zH9+7HdZ#!{C?edA=2eyWMD7-Kl5a3wM|&$?R7qz;2}tOXO9& zAg0OVGZ$k{W9O4}vh>hRmil>P-d2O1R7rNLjl6emQTb@+^_Wb>7qmOGH4M%#<77_m z*<2$OwzAv%Sy-jSs_UGG<92KMI_|MOcg$t>MO?$$*68PPnzc%33;AZDm6HTGm5DnwGW>n-5$L+rj&et^DN7 z-B2@{Y^%}UkpY`(i-N-uyrVIRt-;DWcP_NaISH8_l6w)7NZh)(e97PY?vWVF0k+7C zTB7Ig*nVtxCC=GmwLt&&BV-O$yBGOB1PSvzYFE#@8k{&4?;~{RT9ZJ$17op^v%FKp znV_Qmjz^XSX26)!_gP722q#%-xhe!CrN%LPKSJyr?2Jn9;4l4of4D%#`8DKb=f-tCxr zrBNa=;bp|(OKC@^qqkdiH_GUIdzrYk{d{Lj&AHhU{u4vGHXTokXiAGb~;qt*ric^d8TixiL_^eXJ*A%;e+Jj-@_4oT%hh z{w&hg_a%29r>b+DQAjgBgwqm^6M8f1va&aIa=e44hTbS^{A2bC|8$a%ku4e(hdUYV zo93Bm-tA4>=4Eq}QUdkt!7<6{g}QvfKt8>R`yS!NPT3{-y>HpG`j;|h8gE5T*iXGX ztN5_X?`m|!vHwHYI|K>CG|`%E+qP}nwr$&Xzir#LZQHhO+wW5mdbxXjG3huD zi_a&wp0wShHZ$03UT#|-l>qcL(eE79;r|YeG46B7f`9f+2e-9O!>0MA?RkFyEDu~p z%bVZ2WFO6HE)4lKe|XAd=2OB#p_Y?t6G8b(MV4riwBK~uN}?>`6f5U#vuwWV<|8F7 zLmcWj%7UIUE~qZM11`O2o#Ot}DorZ>fbwpkjn69mo?SEyffH@7P*_PN9bnvF$Al-e zHa;svMsn6QwKMlk??t*ppdlnK0UYq6UUOaHo&PEq;1gGF_h>-{W10k8 z6F`Iv#vE4X7+0QP#=+o@kyV${Cs~%Q%`s~u%=g~TLd*yJ!{yt^E$v&^T?Y#|M_~;2 z2Di6DT7o24v&APww;~O92*Sv)DTr_r|+A-SdR_ZtIw=Bsri6 zQq@*}0+uY0If}k7-`w$sAnOUw2&!@Kg}3?Pt4LV&Qnjqc2&lS+-rlZ~Td0T}$0Ehv zl%r3D3@&W=^@X>GAMT9M)$f^jsl0TW=u1Y2rFW_&g$&k z!!CkTO{X4b8>+aiWoG&6SJ{S?H_sXJ z)Njp!EyRQ}T~IfwH7RAkg$q36M9R9K($X>8)-J(ZNKw0RvQGE0ltHVKGl~;Ku7T$d z8PB>XME8j}j=6x1Y*T&Rkh|F|%AX;4eth|2Ihu3ibp0_533IR7AzA-mM;<6C7aiue z7bw&k!e932mz%dnAm<1*LjAtD{Eg3HG1Y*fX7T+K^!wqzSNy&E{-rRRxY$wAUU5bC zYYApmWCF?P?EEdSQ;Zreecsu*GT*n5H~2QNB|t5N5aB?wg?qnnnJ~-#r*u8BSY<&E{&FWqbyGf3@!q*w%~6v} znHzaFqw1Tixxr&@Qh-%&6OyNyM;%|n;m74+69#5F8Ub)$1GZ#~5l3URekk$K0iUF> zew2RCk>kR1FoDr7Vli>_MgJK9fFV9XLQA%pF`1tqyj}prn*wwMgGl4|gxR?Z=^)K7 z2sY&zYB($|eJQ){-Ea!nQe|_8yz!!*>+EeMqu=jj~ zXA%zeGHx!hp>kquC0~QGi_Dqf2sjTs(23$N1DaJD~jo>XTbvS#0DS$ z!K5EWq+6+!4o6G1lReBK8aToGqq{U>b9;XbH40#raTElNA#z-tqY%z)Iq&EmZlKWO z_q>}2>FBq!j8n+yDZen<<24oKnr^z{o%}5ZK#0-blkgo*tN#4Y)Fzi9VFd^|Na7R~ zmKe5PwNI!mHSKF}?ZdlM4jLHT));X}OHqLylmDH05Jn(zd0MKx8VP!tA$`KJ;U@K@ z@msayQ%Te%o}aeO{u^dft%eyh$I9Id-!EN+l&Lv9;if1=)Bb2ldcs#pb|~~l%nK_2 zR?odYTtGv(bq3liL&_Ti#zQW>-7r?@2WK8%+y=dS?#i`07L>%BP}fu<=z|VTt{uA` z%9?7>A0tRS!VZ>rQxHapuyMQu7XjWk2ysjTKP(F7;d+PQ>Kq%Cfa^p74F~$ zUhz#^A8ddczWep#kWXV*8s^l-G{lYO8(M^1A$w8HoP5O({Ob4^$tu&);hke*-vETxc8JY!XWLoU#X$pUq_NlZW_WGGv(i@{0v)cG4?TV zXiE)%r~ZeT0RCI{ndRu>*5+HBRts(5Sp?BM2A)0}-LX;%aGGW(?S!G^p|_35?E>(= zCQwf1q+8yKUPGwgN7pV6=3s8HNnkSg-U9qpfDy4_EYJuiXVy5rymP`GvW$`^55(X;Mb?(d>=2v{d$Pk5MEea zYJr?&E$3?s16XqRz7+sc13SK|)Q}q;09g;hMY9Nw#h^zx2zVOp_69&`hYkZI-*HE; zdUU6HemaEb+49PxdDi+PZa@GRn<6V9c-Rl$}+aJ!pZYR7oH!@VaL5tF1>WNgJy8Q@N=f075Rqo zWS0FMVuAnF5u~&o?}lNtC2p}=2KJc%jX0Tka=pQz z20amQ|F^@e9A8X(^~wu?7PBHnVm6^S& zP<5c%gKQQgX2@FYmewWsG0np5tg_iF z1y0w>0<5-xT(+_TbJOXa@!Fyv`gjt32Wf(S1)wBc$_FNy=%}}CFQ)q0WSX0T?j1Zc%~tc2 zxgj0_a%pa@L{B$hq&ta7_zr_bDXnA>13f&K&UN+5q>y!#LH6;Z2Zg;lK+;QStVPh1 z;^42>kPSOxncb~av{bXLjeu#JtrtIlts2zR&&|jCi~WrTd{003(`Wp?`iPhARB6*m zwIWmSoJtHTiPfO{CBT@N5Qf?!XI|F^J7_U9Mg?!c?n5jto}9KEr&-6-Jr zSe&C%tN2i56`sdV)SDZjgJ?#Rs9VBP|8`&66|@<1%z7rIq;xi=aj0~P@+?o=Ax{XU z)G&|E+&}a*vVxayTQba6{8w<(+bUrz{%_^wJ?c!9d_iXILCm8&f*%tUhA-W1 zG`uT?Ew>wkY*2-%VEX=WtUTZe+n9`Gt3ynMj8}u0{t;he^#*{7U zu>oI2wI+yoz`*3k>XBT?VFM)IpNks=Vq&y5y|8qGG4e-q(Sb1!0+y>e!1nHsZ$si? zu>{E)+to0;k?!o$WL{=WW&7}A>E86)EI^=Sk>!X~pBq}g{r-t4x_|Mh!Tv%K8#0ND zX@R0vy}=)3Aq6Qo zo1GYT)q(t!-&{x2_UQ#7NTNQ?KlcOlLP>#?x+0$jzSIlm+jqbY6#F_wYP89~cOKig z;B7Y9{TCt2I8)snw~)76Snk&br}vFD{7IsaeW&Mp8yLCEr#t$}DW!e&g6-HWS@o6% zmRS)0$#3|*;PQv6CbRSHsj!i}XIZri{ zPyGXn9yRF33L^fWK}_&%O-wRG@neaEyMg9#__6&gfQXbsw4Z%gbXnX#Qt4bC9i5E1 zoV(&D=w#U<3aE@Xw*Fs%7nZY@E{l0Ih&tKNii3~j%mJg^KXUXsidi{xnG0n{t~heB z91P2*=iYbLm-@I1EIJRRqO1P^X;g5+PlH*I@5Iq?3ruuDp%7Z6vbx5sT)w>L`6J^5 zN;78ndOWq;JBJBJ21F!o@T1-^TZCeb!r3}m6Fjv#5)b(}R-GK|Zf9pNAD-EwbghwM zY6zdDaJLWCrC0i^E0LUf!brW*vrkTkFcql)3p;F&qZS!O2OWZl=m<0c-h?%&>-t#5|##lQgHe9e=^t+?jNRHMM_<$$2B2$Pxuumu* zY{#WhhX{*O_Y6b2|)l1G52N`Nan z5t8XO7S|M6w&3`Ng+2nB8}{5C(t{I5_ExQB;(ZFFYuMbQu2T9byHXAWU=jE5qv^2v z;_!I7yvyEZQ6Y|xo3xWqs2tGrvKEuiL$9K}leTc-XHj4DV-aDQZ<3g0d)_DnCf$Xcwh0e5oz?zN)K4iirnP> zzDF#m7zElEjS>E|8t`}|Ro91Ch50bYn_EkMi?BwIye%^eDUrmeQhLb56NXXEJnLF$ zrZ($kuQQo!Y4r4*Ab+K*O0~=SQ$8+`ER!elL(jNk*N2)rHE}h7v8~Iee2GR0bjun7 zU!EP0WAVjd99rHLyREd(P8|Onz}VOn&ytsBm7k1B)$t91AnFK5&AdkZ`$U3O~Ypg}=HIZg`gL)>3H4K!YEe8!1+>`JHK@S98hNpE&qa9Z`20RDXZP$E%N-7tn zNheGf%6NM!zHUBf6#dPc%AsPPck&XTD~F6Y4TNdareTdwE%-<3u$S zRv1ISx%Z(5LH0=VWMf;w+N7?g>s$@T7@OkgRlDiccE`jxWUZFTKAmPft%{fXZ(1je zF?M`v)O-k8oNc4{#<0r4snwi`Ss2FUZl0-PKnC#iL$W1}Ozw~> z(kMk&T~+X)V-o|S6b&I1cQw;npzdXejNoL6X<)@AQX7$Du2AfF0{){r;qnJ`>T-IB zht@Zi?2JlV^EAZFg{#}`L4wz8sY)aE*Av_0q5c*h$s>eOiFB=X@1Ki}=a4j6cS<%b zp$pDz<;jCcr)vm$px1Y&O=Z?dFaXMwusG?4yqfQ_&X(4fTRV>qk-zw37O=^m(YvQW zBw&Tsfp@^{i6#9Q|KXaVKd=K&!MZwfVpvE2{7dx3e-X;CYws_Z!VKY?a$5);e>(L; zH;N!F|1!O|Dk6*x_CYVw$xip4?-pD-qgXxT@_v+;N*TQoa3FuL#I?+C_y*vNFqQ1Y zd0{W@e>b3bKWqHL=~9|3H;#eqn&?2zeHd841+(rexPN4>DuV zzBe4q_K=T5H63VE)=oYP>sCv+Va-=jX^r1mNv*b)jNUb-z@BIBcWJeG*llSKPKOH0 zK)q2U#2Ye0ERZ}ZEy?o*OyiHPzm@}Twc#BEv7JC@IZ(O4I-HTCTy=jY2~me3fKHv3^1xL%+5Mm4{=W-eGVh<*MQ*AXD-l3Kub>D=@LQ$NJg5v+(GVg$8?jOA<}o_+T=C`3*sI4ci>SZq7}#&8~& zQpyF61Ie1JV{_4d19;wq59<#{-UMuD;1=m%b8?WI#q@COq*mWlGSJtyC$DL?4z3bwd=ks&cwu{58`3hgeh=I70{sBW|K_(b-+#i6K1hw=o z?vcNmT&{K(yEv=h92**w>%V5rJD8baq(D4naK{gzQ{X_OD>~8#Gyn0ggI|R2U`kFf z+=}{!!9X_1EGl{L6BHkl04^wrWC;v$+RFW6B3m5On<<2a%oUm*nSgiTB>tbhEdMt! zS@dljY^B6%v1Dxa>t*hZZ8IXS1tBa+81~W^X3z#KQx2jX!2puET2sqdtj&6;&+TO9 zOWKX%;;^w}=wRAV9yb3desg9c3Q^DTV_A2HbUdujzzrj~!$B@PEDjv3eF#7D2$87Fg$((WM+c7A8t-{a^^RV)j#WVP(BkGzcUG0Q$RoU4aABig{+yC$j^ygXs@SVDh0@t zO*D_3Hf~ubG>u_BN^%aadcHk-7!-$9|F28{0NA(k5V=T>h&P(P*H`k9Y%P5G(-K*; z93ZI+auE}oiWvLmbXr{uj_7rQPO#XGSeu2>9%niFpaDfQc%)6NJxk3Yh-~r;P*xJK zKPnWKjK*3r`u-KEhAL!Rbk|j1Tq5%->RZ{328b%S>h5UDamlMLx&${7lc-xOBX|HV zfcm_Rs9DyD=O!9T!-az`moo8S$4uh7g3W8e-F%VKg$kO{Rctg($ZlYLvHno+B{XdS z)K9&XEB$|>WQxC1bUgq{T&suxpXtR6_{JyrEmzI6iW-rkX@deYnArE6QDQY{68dLdN&?^0)I1%oaO9_G2BboG#r{`U z0J2bW3^XM2{{wv_XbB9!ecVUuuPP~NVG)s=^C{8RfwF`FkfDf9P?vCr%vcJhL=pv> zz3Pe;%Y$VZ)5D>c9Rc?^b2P=UceA#4cMEw$EYnm;AkSA7(;&Srqvmp(>FEra_%+>L zm~RGTXBl2L#fmDce*3R#mFZl1FS5eZZ*h8?IV+!9w8oVPdm)NXL#}M|%ozzU-8V9ia{5-_24!oWNZ*%b*AG3M`e1k$Lw1v-8480`lf8CPj_b6e(IQmu z#p#H1!@S#h?Xq!6r?5cKPlyEj3jp?j~`Q%ic-YQl#p>wsx|XVenviUwQ`sEZy?erUFSkRg~54>l!o2HPGa zA&)Ug8YZIJV~1XlE{S}2@-y5rGQWZf&^*1;oEq$u2&)v5=y%ESc|k%PY$D>37n{_8 zoPWs_ObIGx!j0^SN-O`}KAdsU* zTQgQ0c((o|V*+UywSgoOAj8C{a^j~WxOBZteL^G=;vxi^>`F`dB}JJE)6wczuJ|i# zfAxtY>2mt3EPN7x3N48ehpV+`#BSnuNO>ABP=Awiqaxq=3XQ#~qu8O!p(|^yuh)y!)!S z^tzU#Oc45PFaNpZ&~2el^yt?T6xZ-W!TW$c0FF$#I9WNhHfzQo9x=XT{#F-p4i5t{8CVP-Bb=Awe*bve_SCG3v857Kp zfz^i<(q|sa*`Jag+RH>J%G^ByiPjDW9c!@k3KV0TdW3&r#>h|qJw(f?QVZrf4jT** zeXW$~`?&%EICZY}@i>wjdQ3%+(aga~@uNh$w4!*KR|Sc8*7ByUBeD``^rs$-&SH8n z@c}RsQn6V>s5~L>qPg{EER9sA&V}3n4s%6y70(XR^U(tY~4VL*-Pq z2!NcOaqF~r&s9DE3lkdAB>b9CLjb*%T8rk~h%WArfV=ZzIb1!8bif=9;%@qJU*6UY z4nm1FqjGml<_o9Eru&fSEEh+M!9!RL!Gr-{Ef)Y;3Kh+r_36T%fYmIix)c1#T&+Zv zt(1?1w#uJ0oQQdg)nyw79P}OO5J) zH?870eEk+Hu@mmco)OVV=F!8_A8HfYud>a?1WO%Ociw=lUW74vjwfU=QZQhA`DEtD zvDz}XrYLc=L6qR3GNx=+wM-Uu-;_&Xe%-Vs*!PBS#iEjYm}>ONQFf64_4*l_`aK6d zSQsowHHXqm+!aB(f#RD@Dh z(?BiR^ZekbMBS7nDO$ME;bwNNSHS>@F;;h zyW^^hIhP+L3>X;!OP8@bS6;t!5|xH-@q~`|#zNgKIdXb0hh{31V{+jwqzxGE$v=Wu zFmMuLM05v&N=iV(6Z`6&C-gM!bg0?{n0f1Wi7?oZedN_Rj`hlfEo4GY)1U6SHd8)h z%HIf%o*HP1ywQuwY#YlM8O`u(+R{I;nIXf2D7})R6ZOYZ;r5?B31J~nR=Kq8u9cFB zkqyJG&WJkjJuI94w`Q?&kNhX;Ln}JY8RFZv+?`nMVhC_Es82Rg3*5JjKyXt!CX}8S znwSwdz|02GyePHnlK=Agj$9_UQptx}9+(!!;_z3`L3;(-F&zjB6@d;vjb-lEJ)6D-?|i8q zk(hVI)0e1edfsdj;4+WaOU8W~CVV~npobA%^zfI&!3y$Sn#0r?0YyC%HVh?*ENsF*t4Z9*HA}yd8$gy{=oGp8ywumu$RG6m zs8?IO_dQMMOtK-9!g3!I`}Wi%C2ve!$;9uRG6bJ}sXxk0K=cS=$tQB#5Iy&%^#IFA zW4jdy51$CEmszM*%NUI+WbTlkYBg@;_pp0=NF7GZUa&f99glSp{Meu#=0s6^>ylM(P@@MIPby73rhxH5 z6ME+5M#4Y)8>^aPr|oFA1FOx(em07!++F&5XvVyU*(ie!xA{ju2tYL}CVY4~-^_vE80l4YH_p#x9lgM6#&o#zW=ZB8PpM6_ss6)6<-XgoXY12C8zuU3i#^u0vj8fWzhVN6=gua5*uykRg{+O$%W$vXzoP4Vj z3R2)mBi0w?E#Be8+z@)CgN`p7_bVQh_bs3mFY1k9xz>k!t`yYP>t;fPY~R(vll=SO z|Np~1xKK*>iu7kusEtsvi;5R;tb_V9i6kFcYDZpV@9QmBTrua;#V?h0d5byb=PdP@$`h5`eDT1ASS0*R1R@P65NG7$iXTMhDvy$xl9tUE8+kD!0aU92__9hGZ zt3?8u5@{{63Hyr7QvpPmgg7=j90VBRW5jFfI-5m)Xi4hPl(;B?M?E%UEXvM9r}LGi z)K{=5Vbd(cjLoxjA3ygIV@S2zOSZY{3Cw0ji9=E_Q9)j-zo#pTO`Aq*)|?azX&`}I zw=l!FZrszwut$>_eF#ll25TtaWXtATOvOAkO}*qooc-R~Pg)0WsD^4?Q1Zuiog50=`dQs;P_*9G?v|f8jlNWqjl_bFb{GSA<2c^#7Mt&qY_F+v&-aAuKK4|I^ zG0L0WSJz}pU)1vc)IP{B6e{i9OETu+K7?RZQa9?#y3U5b+@_QE4;4=Q+elAVZFDBq zo@MmYd-y&*9&WiqoX0XzU?RbN|c557yQ%le_If2ey%WC49Z zwNMx!zViaaS(w3xjehN>1kL#eTgWle`q{Pj?^N^Gf;+jJ@>RIQTflM)YnF?1vjpNK z{69Zj&+-AVLGQxRJS?MMo?+)lqdQtN{1=?*GJJyNTRiP!8Sd5f8&}y1U>OYPWsI&h zXdGpz^vU_#dH#WM5Ns1eLiz02WSW}G*Xdb@=1-+v%kKF8PEmE4X2}ccZ`R%PG$$LC zd-7vwKq`eu$dk@?+fA5grP) z_%_ND3t~oZ&Xamxfdk&J1dw-3naW!S$f7hOr!gJ*2cw(9ZJ#-vrD{3_4ixaeB{?LE zfd$MTCa4V#N3&4SwoOBtCVYJ2(1IeoGcua&U68^TZO8#NObtf+3{jg8?;HOWIikyeHq=D**|anxO};|(G^EcRU) zv7vs&E}C-W&)vGZD_MZt+=hxZjm0HFgkBBXAth6SXLBf+xq$~MuI0AqR%paZgGctj z_1`BbQ5+pais!SIE15E*rN&P_shhp`lJJBSSbjZ@tigFL<|~$=&cV>o->B=$^*F>y zyX_+2QS;j(p3q#5zHLoaZv$n}GUyX`h!4BQvZ z;NSFi1vtimKbH$N&7Y%HbU;oEu;i(SWM}^~^f_%|zunLDYr;%Sxy2jN{u;_?8a|=@ zsjQg|PR-Gfn=nd|*296gQnBLp*94cr9ujRm!!mgZ*im4qfi}ZsUp@!7jAjF|C%%K)}5nL z7Gy>USJLu~Z_Lx4(=dM2=HB@|#( zc-crK=P@L##ezI->qNc)ZM!ypkdGZ$E8lkR)7!;#^YZAOO~Rc+Xb z?|SE@@>*?^GagO?2i>}?^>A_nM$05LtUj#!+*`n+0O|U*pcxFt@T-iVRRtBDMQ&}8 zL`SONQ5d`Z6PU?(-wEGrOl17De(6tg#GR+fFpJ!2tiw^ zr0mSB2oCA1;WMfCeH=P!@-ak*m{r?O@aA?nB> z)=b^#F$>V3CaQi~@)n|Fpp_JpI-V@f{88HxnUJqJetJ##6le&jPBl9kyE{5NQhj#Dpy>Y+$*D!Ui z*Cx_M57Lx9i719>?}1~CHU|Q5ckm(NM7yuDoR+a)Asj)i(CG8hapbAhRm1yc9Xml(flR$eSUmLMzp(s@Hm@i{NMW_6LY3v z0ErE4dEobInw^~vMX!iP?tj(eFa!OhN}_~CC+x=K-hQ-wj(>2dAPxxRHcfeUoLv2i z4jB*1zb6z@00-(w+!X~i7wBk)nh4!`2#92Y)hiDssuYUvAUNW9b9+;s<8}&-?4sY| z-qJ>%q(y?vTQdytXZ4L43EZqBu(s3@ZO7I%czLWJSumKU|2$_W?5+6_atOs==jrIJ zFbJ-GmY_d2Wom{+y4wxD@2CAjYfs9A-X@PI4e0@;;SoA%k^!-fj^2FHoP6ax&aFFHo@_ zp46({{#zV?`XT-15N91Fig_vVa`Y@8<*=!O(u;m&+}4w0W34oSn=NdcfKQz2YUDg5 zN3o%69BRVpz(~myK&h+w-$sOv=Ni?4BwGfunnX7`!>`}8+uU>z*TXwYN3R(d1xdvf z&LGglOaqaS$Fix{U$5VP9_0C1EC`kggx`_?m3$6}=Q9wVBMv|N#&WW_YRJ7*957J_HWm6A zY6RdcwZ@`uH%-VAuc_|{4Zm#4Zg8C{qyOA|@cymvr9(~6`k&kCpH_eTNL&)K7|jh8 zZoIn~Mo<~7F`o<+COX;bUa9vn zdAmq;)R=BKnJr(Q1?80>`SP1!k?3pP%;IA@TXcb=qvs(3qNVyQMp^} zSu}|FmtCZHeEs_l>0MkR^+3Fn8m$94RHDmHloYakrCugPODfvbDEW9kIra>Zf#j%} zm8kK#czyhDgkx=el{nwKo*x9`s)8(GN8KWhI06@}hV;kxr*J>!mS-JDzdd90xRjvR zV@`1ZXQx>OZD(~Jk#U|SWk_Yp$o=f!yK5t?sQc0ebfLnE^Wug}I_#8iw#>^Eqj1SH zXvH(cS!4Uk81qeY14+;K^7xMEQGAkCzd+Yyd0g0BRS{<5?CHgLZhA$tn5om}y%+CE z9VpNA8|sNuZFqr8w_W00eY%XgPT{)9Z7xlKqyr0M7*u7AzO)X5ghM(%e1jiMxaPb? zvOfntcgO%Q58RoIdb}cqI^crDUh?MgLNxqkY-Y&4_f7VbmN$6@3=P+Zz!_(5b4;9| zymRk~w{CVUx|Js|?k;gGngKfsQ_fO}#0~dMq5N~k1*wV zQWA%isQf%5;C+`vp*4mGs3VOI#bLU!Y@j^xGV%>Jvjk$(iF5v}=Sav==w8B*qc;yM z-zFGYy_m#`;P#*>oOP7$llaW>Hc|V(t@wVSdB9wE>F+2#Oi-t=&xAL&e-r0N*A-)0 zy~38n>>*>QZi77KKBXI1a|>m>HaSAM!()aS17H5;XD{97VPqJ!p@((V&R!rBx|5JN z)*C^X^(9SnyFPq=BgwIM6~{x1{sa}wn0tz!ypEPZuJeb?8BG1saf&;HV8OITUb=pR z=4*uDzR!etB*Yp^!w)HGN8kBqbb1ekCh8+(6j9&DC1nI}WBK^lde}_^chE;HoWF!W z<(Fkfg|XYbCKzgdj@9=A9R6^ey-gHH1K{vcBrJ0(d*Sewdi~5wXd9cna_@z=a|U;_ z&AQd4HX3C}T>THP^&KiGMHvaWh|3RnzW6MzTZ|}C8-Qr6>aPEcL2`qVJJg#=d6aM? zV8sJtF|_^#g~Apwn;+bXf51w`ti76Wsc+)0Z=1d0nR-6BS?0k0qo3)qqPd|zoN(UA zvU*wwN3NmQyrglW)5P2-3XubBLxjUH_T!r0kYL`n8*bq6C_UPyy#qmAJ7d+clzCfHa zU{KUpyT2n7=B*vO6seJmR!B;*VUKf<>MOsseO<&PDyIirJx#P(8A9kfB<5UXX|d-w z0=Q*I!B6SdBhNm{bdEvbFcLo#c>+KQbd~Y9L0LmvXCA@q9f_AyO`4t|O9l;To3W&B zfDVk!Pc8OcDpxV&RZD z&{EabuDqxP4U~TL^^ouLwP&4Z=|6|**au9$eH-$3YeRFY%2l5z{R@i*I6ZV4-4DSa zvK_e(LP82f1`o#Rd`7QNCCEj}bBinkl%GbqTGT4>OM43w!j{&hw03D50OI!^64m*3 zxY;Rx1K71<6$?cc3NCY_a_I*H@N~Lh)6!^F2}V&Hj8$Mz%&&4-D+t8K(+w)+6C-Uk@Xf*wKmJ zpCm{7DLHJ_!@w=i@g3D^CkdEQL4+3Na_;LD219dB z_xx{BKs?w%;Dxoz9Q)I_uDc7SeYTq5ibxbIwUMZ@g%NM9r66NJ`n>M7NL%kkb#Jsy zThv7AjwyXw&IPUbTC*}smZaR5yZM+QGM5o9k|LcrfV9W{rA@c+mTEkO$Yhu*$D3w&IIQJIYPg93|9LJyYYWR2*y|clH9d z(RU;`o;683hw7 z{h8!P!MV}GRoBm%ej~X-CrjIamX*=)Xo=Au_h;Q7GUVreKFnn$6)44$2p}D?)1d&@ zy{w+l3~oO!yXL`B)%Nf`-d^R}OhcqYq{clz5+_|FUO9=TjjDN3fRDR6oS3&^j}lG1 zYLI>tVsb}ehH9E6BraVqeszzF^*s7gD*MZUc_#c%@JNuBCtdoOl0R$Amo60hxi;8jwd53DZkfC*M6}X1t z^H<6$VHa|GI{S_f+$64Sk{}hrKCIB>oap5pY-3IC7h$DqIaGf3OB8w#fAK_T`N`c0 z_(=@@Ci32?$!k@$Z+Zv0Z4>K&i=7Xx~-88J+^OR6m?U8j7w9w;*xkHLm`ICY3`E%)ouJBzd z&nO+D@D0^ww$#chX-$-d&+I&Qt*l~mc1}9bxj364jo#$uG{TP4RJz5-D>x_lL)-Zf z3r=WEW2GYu{49!7X7_OK60WWu5SpNzJwOq;tb`(`zQ;^?z}z>xjKf&j6{d_PlOwz+BD1dN7kDO)Cv2YTc3uo zBB<*Nstsb${4?*)-DX9-5PPH-5-9Qh0Ik1RL^?hzKNGcPG%eE`%3Oyoqub+?mEq*a zGq6nSv~Gp25fwB;`;*2KX=FFcN_AO7dM7uM@E`L=tT}>w-dQJ!@R__Pi24hLD87$4 z?k0uBpP4i*)goX1;I1+s3Q|1-v#?T8N^#bcN&!HKlQEuB1@nIi#3>La=+Dg5 z)of>Fz1uW`vD^X8foqMdU3|I)MD|EGe*x!YywA@V#U*X(4_8jQETrp-q&V!pwD%=x zRKw6}6?tIngngF(p_|&dOE92Oz!{;m>~z|g!8s|?|5P=C%I5z8ctD50q1z5~1m88v zzwxqxEtVjk!96_Sk9|YjQUoiS)jo#X28JY>w;Bj*skAQ)a8F);py5LPcq<91Y!1{} z7ZdOjiuKsrwL~1&UhspQasf}|o20p)8Wv4)HfG|?f>mS<&MuQX!okxv1{J%{lzG4{ z`vRKoe5!+@7v}oh14Sm!(i}_k6!pMNF^kf3>gO_kaLagG`7czH zG%im+@A8Ossg*vVaGp0Y_KGFjFC{DLy2_MQXev!9f(UW4srtUzSY~O0$H8(%#Kg$I zW1@-lyA*XQ>USrxGu*0w{Gckp37ifaZ&VwbI3oc9FGzKy3?7II9$P|oi(T98M>3C%~p$uX+Sa+TsnTaWyVp2Qv(m5~BmEhF<#5l61fnf~e~f z>n)&sK|&=-1xkNzBkBI@v$k&}3R@Xk0~pb3+JWh95sLeZ?L$u!rpcajAk$4vW<|0H~Qv zsGzSQ08-l}kwx{X2a6YoE>nM+3b||O@3pE8AMKltPkE!a`9{n?9R>B}oQh8K{;?)m ztjvh*gEZlh&P3V0xhSv|VHxvLBM6ta_erDE^p`U^M>~_Hr-Vwiw*tW|Go z)IFYlgMS|!Eohv4WS&Q9sv^bn!(>Ip~tNB<#T{&}}yGkNY1y@uq|2xrLc* zaS4Snz4HmQY`#vb;lf#9;3v(ZF~ zOylJS*)9WOp9#)X@uhI`^gC~)0~>VaaE09kvO_D6gGh`vAEa|E5!0$>!jTDptdho1 zzdd=(I2Bd4js)2kQwLV_<6!r){-8tW!&O&pV+joqTC|BU^^%?Ho(&ntq3Kcw)|33G z1S_l079aRgd5u*jkwBy%5x(y0uu?OV+jXRTn=WHoh*O^MM%k5q;c~+83uP3B7pu~X82epP}>Zn^aU#H)>-lr9V_8TaPj2-;n1iJW2Yr6h}&n~>}qhhQs- zBJlj|@wo8!#1v&UAeDdYeC@d_sW*%YNLy!VGinlnH7bOTjcbDsz$O#n!y7`HiK)fJtbt|4ESHR_ z)Fpr@PSyvgR*C56KGk^gH{1O@=zsU&jKU~GC4v?+=#NY_s#R!?4qrp_j0 zmrB{acKP|g$dq7@&8ZmJ&Id)(HWH6yJ@kr@7tMdYOVo zh94pb(Hrq%9xKhb@r!cC^c?&_9?bYE zqnC@T*xP8>#|WwYnAC30~pftk9uY`0Je*gs41u-o1O7=6+$q_;*-(v*~$4JIn@ zICo?%DL4|nBfOfJU+nx!aZR?b{&KPR`ah=+3!xF$zR6h-@6In~&2eF-+s9%Wuks7> zeQRZRJ7KT@9*{#G(b(wq1^Yc7=r_6r1;M+q4zpp@n9_*(WqB2sQA2>$vc{cM`p1Wb zSXSkWhU@0{Zq!R)0f>ufd#gr&2ceweUQ3ltSRY0U&AEJTz|2f0{l-O4wq3?3$V}rR zN=V1=ZJ3#mx$s#f@9Au-OWXv1>XSz&ax(lHqp3M{_B24oO>qZ8@caJaC|?rRYk2#X zBUikCyoJY%kdow&=jjtPSfKF zpHwD(P}o$Uz_%o@3Jk#1fi7&~ip^>#)bg$jz?48(8noYIO%Stz1!P*>#1?MChP_hH z39w;~;N}gs|`4!R~tapFF;J7A(gH1EEhk>&|13bmNOV@@9*woxF2%{Lzrc+Ebfp+IiOMs7&2&TgmKR3I zN9O7)w^IVREF8qWkhi~_Znpf7=7Bu{Qw^B2PZbDzcYsBL?1tm4#A%*9_VAeO|4wF9 z=t);?x?^3r8mSPQ!dvzkEDJnlY@wmM9+7JtnHcg&j-NjrmmlM;GBk=`Xq+f*ft2x^ z8~G6mEY7URS>yO;nf}z^ddCQ;TF1z1qdW7>1tQS8;39vkLcu}Vj!se;_zFnY&VgCL zDmc&j6*-|RnLR}`TAf;++3!Ngzl3f;M;lj4c>hyoY2G&atso$Pu5sg_HblIkw@PYHY zum<;(XiaVmeNx-?GpE-uT#`Xd7kvFEx=edAltIDA{h3&Xb_B9y4LmKHUP^#Ral&H- zC_*3Rov4=6K?21t-T*HO{vzD2wC7#%?7Qw>U38!pDsWH7FGvA}3K9vengTXzY3q(r z=1nY8^M}2{53>--zf;f_GZGQ{2yPnV(;kz6%Pt#f;dic0%&BO9I<|kka=86{tgVeZ z`glfU-ZWti=b3%?M57Fry1Jp=Y@5SRvG4(aqg119|7QCJbJQpLEerrx!S-Zi)!(li zjbEl~uIs28&rsiFn!ta;gt};RUR;~Vz;)TIgRgWa_esmsEM@tWqNyXh;+a;~)#3xa zEillpwO2uJ|J!!bChmG=MQq~k5PlCI+ z@r!-U%nHj*UNkXQ=(PL^H3}hfUCfBz>N<@2KD|^#bTgvCVh1f6Uwfk*uyJSTB!oBl zHx5a|Xm?0gNYQJ4pBVipYYYh2u_hCil-Cc0M z5v&D>k!Hdy_Diao+3=ID9_ly%vBV;bKJkqF5>T%<-VZprUPV$STs9Py35Iubdv5?c zU2zSieOu*d`C^`iw;BjcG5}O-S9N|H?B$7KlN<+9{ zVsO6Yr_`vk$#W$&L8z()s^ie)VvB6;+fv3A4V+0w1+!5Jw^HpXZ`My#>PdzScHkA0O!P}|G>m0K zEF|l&rpU>LJwnrs&jHJ6HgijF=P~)Dbe+qgNFB|tX4!a|X=wx_y=Fz)RlKf3#JMDr zNh1pTw{wfwBy+*%k#F|w->j^&Nu+PNsGMNBlq%9wXTXL{l#-_rtlNwIbvDg@`J|6 znu2ip_LEa(4{ApJ8f}JFyOqjd3TE3G0f$p;cjUhHm>uPx1yD=lIo;gq!xSAMZS-p3 z&lNmIwQ&Q=AR3hQ6EAB}sso=iOjaUIPRsT!&!cl4<^f3r#M43jl6EfBGHrCoz3 zIKU^QnMY{6*mfDUqrltqX3lU8fI@f*UCOWgtNmsPPO^v34r+d{ss>DkJ7>DPED3#p z=e;|B+jJOjw>zm|=?8D#_qfSyh6x8V^g;&4`Hu~F%`a7V1+y0yqMbgFMj%O#odDWV zG-~IQgCgN$TDq4|9`-4s;DvUKG}I)LJVV9Co`CFs@Ub(5EWJe*uyb)hxI}~0|79YX zvxf4Ac)!yb%6Y*#NBW2Op@*h27L}XQJ+eRXe>;%N%`+0Qse{JC(UX}XcL|natNIy2 zFZoe(FUdQfPrTrkY0dC%kIt<8gThjioaZ^tbDZc1%YQ30YqFyRYFTqX0MEoRy}nNR zajeBFR6PF{PCI^azPuPn?Nr1f?oB@KPHzF4IpIZG0&C1~7;scWe6g+rx{p_RCHS7W)9LaBzXZg+-IskinNh z%%#ir~TITO8^s>=1CO^qDD{mqFLsTnC@}o|;HtLff`YKQVfBzh^YZJ~h zhPE}B+H#t4d;>J4b6o=!b&%s5i!Q`n5kX~~%|~0V`pkN1)${n{!`XCQf?keYN0kf3 zXuxL1@UV?~bp{GVTmk`6$qT?YbwX;DL*E9uPbLDWjkzR}Nhpzk@c(~+vVZ*uDGvNd z99=gfxPYGZjSXe#!MUbth%@lRO115oI@tO6AIvbFpJBOVe+O(SEtvc|M=+lc$*QCQ8iH@6WOTbA=8Tx% zaYWDkprf`qyvTNo9XoHE>1rYZ;8W5W zGD36zarN77^dS{BA2XX>`3wyrG@dxvYpB?9C$A%%zW6I4F5N9)rA;PZZ#90n&?zLF zb!|;-N+%+F`=$>^Q?YK?x!Dn(0S+`$DDS)&l;YF^_kPWpQ(mf#jX$4wI*Zy@kow$Vc}k>@27IEfy z`M(jJz`d|#@Z+qQvklS};J~*qI)1vRj4TVa&B<&&vl!1O)7Xen z((_^Z?hxzp0H!jQJp)%~i3WvS!n!xL7!yc7dG}X&jN&&_gnH8@CK;DX-^u6s8(3wa>J%ok9&1FPjiOHn{D2G({P%x>kWrVuhB z)-akxI34Grt3!G#_92sk2OoRftFymKrf5-9D4yz!iE42$W$!mRxj8RWjEDR zbS)NycF+H9)-zuF*gLf9BJOws(u^w!79dGad`fYZEj|FCk7FDL4m?N-k8Z+vH5f*8mgU zbW&A=Gc&#$={}F{**~-XHXX^MVAprL2g@vsM}ATzG6^m~&b|oJIfx*oY2rBCP9b~U zdM*)-h_{Dn0Z*b=&r%q>y#F1%E;?JVcYEjbrp<(*M>UO)K9G1w8?8D%k{t!+8{QS@ z2X~9$qM<0&VFi}3Ed8h`uqQMILfsb;p|(==5g!!p4jxLl(T#&dP3d<4xf>Gpk{z0O zl*s%PFjXWiTClPhvLhZqQ?^q_t9IpP!R{6Xi1P}eXOzGQ}R5X!Es|IyT`kn@bF2fO2Dg z1~BJ9q0}msZ>x5lAuKr;>bw*NfRm-8Xd^)C!@3gn4FTI~2Iz-1hT9fM(4L#B=eetS zL|O_JM?A_xLgIJ=RhR#H)rws}8gB}eK;k+=DhtcLxeXgu_DhIMJR%IxYQ{xGTUdf^s$F^hiTU-!qJkE%jGP}$$lsIC2JI!+yoD< zIL2O#KQ)olgh=ue8u?&Ko~jRE|9dCdcZ$N}8}D@QSb(D<+O>m;5^zHQC$ye9@FZ0y z^#ihvz_1*6LghnN{CEU1Q9wh>V6|>S9-NY1zi8Ibe`bbHI@pB+KKff-yOmI~S%Ng& zj67T9399Lv3%v;0|-9=)Cf4;#pS0lvf3$o=v=nN%F3LBnNa(Zz9o z%eaG%sRqwf#&7K=`qx?xV7GJF8``H|lH}NfxiV`NVZxBVkk^i~*|30Jidkw(*I33Y+ZU*lz-HXPc2sx{MLugH<`^2$URLq_q7?htNkZJMs#qn~ zecDyURW89w>l$^NI@Ipt(!`h59wX5!A={1B5b5QOjB9=#6W!OYkK88bl5h=;K*Vgk z@(Gi#T2N;%{NN=HtH-kShwMrOqx$Sb;nl;@VmF@ayPPJ) zb?O-^0}ijb>+}+a!sWE}h!EM?j;+ZN{xX2vR>(gQ*gCxfFdvS{13%1SDwYNaT;MxK zZGDOg=zUoF9BonIL*XM+mlSLU33*py25nK}?mSrG=mtlM z1o^b>2_;Rl`&hEanb^-){|J>$qg-)30u#I4s+C3wOm}Ng_W^55Bk)eO~MprFc5AADH2;Hy=tIxkYC@)j(Wbh(eN=3*0p)CWMAT@uC|StM|UO}$wm@NMZ|Aj%;X`_&t$x^N9$>N{RRygzj33-=KXK zxaV--EK#oUNo!r31CLVKoAW%$a3_=g9=8GKwQQT=ShCj^kJ4m8-g%+idgif|+Rvj9&8A#e^Ozx7`WC7l#;rC9Y z^~miyM@y>1Ziqmhp6#(WJdgIvkv17&1pEQofKYXS$uzLxqRv{$yecTYZRs$|l}Q2Y z%<6-=_={5Bq2^6_`JJQB7x_oTbXg17O)O?ZEI>Pl5KmpB)WE7hD~{qmHV(*uAT;ym z`AC_&;!N#YccS)hiI5EcB%S=QGmZM2Y4J`G2~+Tt6|680^Aifru;#sKzMAY3G->+` z|9`u76v)HT%uz$sjv-XNc+iejoz8AK1dzBhFJO1DS)iJsji9utTxJl&_8JyVp@!O6 ztwdfsi2MzOG{R|e1N5(R=x$HqY{aDkPjnrCTy8tOLbS1O1-5;ZLU6&5H;jlT>3H>G z+j$XXIuFT+R~Tru=4CeHUI6X4VgZ3C#I>SG^UF{LaIwbNL{8@G>ehMcj=LKrew2Nc zlT4ctnP`%4HlgDB)Y*NNdp_ zoov9>k2jA7uX7fm4DMG&2m|8L3MgMHo75&N;oJn8e*?KDSe4F{i?l}Fl2HsyrSQ3^ zLf2IVI@h!-_uQ*AsF&OhIM|?kk~GpB#kvFfTbC3M3k~!_Xon@T>4M^q5F%^fz-=6z zEz+?^p!>(?&9^p$5Hf!;G^}Hm^D^k0crO$Xbc2S4sUqvSvO5oRQtyZ#2Vm^+kZpvA z$0@}+%bovgU`Gk;AG|kW@#1A5Bq*_!^~+%DC-^mZd35NCE`Ai)Rib5TBSs zA>m*RxY_&7;zAaiC(7FniVQ2}SsYYjWFjE-+aOk;H-22NkobT*@DSbIUaSPRF6J$P z8S%rHGv8wzQGsjrFtlNU;RThpe>_GL8fQ}_d0BXeT?g2dHG@*Y z5b>$bVo))p+lO7EGis$e+-BqM{DuQ{M%kgo@bGl+drh1xT{Nb=I7)?xe ztmGUCQCn`B{CFDXPd!f&4Jj)+_FQYjbYn`;QFMG~=2qznpxfbx(yHKQm@Bt3t_#{9 zcCJcgw>mwH+-XvC4|71ADrn!yS@~-W;aGu@2!P>d?&h2^%_>bq4jU5(rs~VahZEV5 zCrI;ozwJR#!c~{5lwupdU>5Gq57}qW-dzxwjeXJefYZ3I$PCqFPqc@>>92yc)K1J^ zz3w}xWgsW(NT};aVmFi@Je z#YVo+Q6jyZYS7e<>Zd)O&WzPZf_N2!b$ui|(!DCzYWLj$%o@3k-7Ul5&Crea=a)6B zY>oC_s-EtmQ9fj*jke9gN&{Kf z+NI(lzK=WD#4|)jg+s`9Qfgalzz}5R*~ZJ#k_fV5iBqy zEq%JkW-m>nIj6_!M8xAK@U8AYFUy7eFuUbbfH3XzOCW7%t!$P~yh1>jztHdcp}Qf+ zGfKQH!ufLug&et?x+8xy1A}3qil6PwTanr}0pnW#a^33NL`uVNaqr{Yhr; z!B!Et;VMsKdo9E_@Z&o9MnT7u2wmf&Hq4o9sbH8dU-d1`f{sm@?kdSCqyI0LGe~#{ z7Id=^z=_6Qx8-*IXG*u!P2&YoQ5yti5FPpUIA0+Zzu{fXTl9Y=M6IC;wCQ3EN+i{X zuT?T?h6H&Wh7!1rDKgZ}BVc?F%$xhE6ykRM)6A+vY%2unN$rCL+t4aGj0e6Y^a}i& z0tEFzgQMkOCI)A;*aDvDa0%I2gQXD-tV_Q2%zRW0noWbJ#!uZ^^K?TV;gE~oYq8ZS zc&8iVI#J#n!~;*opJ9o=hvh$aZ4^6po>kkBbrlzG7S|@3P|$3G<6Q`;Iq|7)L|5oh zJ!caGgOP#LN3p0d7>l|nYcAsKgBXs5h$1kX3EHc3m5;W_serP{qABb{LoYNh*Y0}* zX(r^DgqvuEttT0!J5O7A_ICh%?3#v=zW{*$zPK>&I<4k&obH9QU^T` zT!XT7-o9J)=(-(bd0F;kfexKCX6+DXj8;d372a->x7KpF**DQmaweb@I0yHl^0nf? zEJ`6IAo`^4XU0vUekNnS;DH(lT1k>dq0nMWT#=Yoj0=G)o+Y1<9J2?T86X*!z_yUm z8O6~$QaG_ze4Fl0LijBJp4?=O{7T$=-Au7xn=Iv9kc8(Q9az2}(hM1Y2$7dX zmPKw{nC1h2RFvcbSMcQ9etYttaX#mWGwxP7DEsstT=}aA;cd2& zG}0i+2CrZ8h7}lFZ<^*WguZo|Q}fl#7}cE!f|~JcWXF0!Vg}7@`_6yGx+?TJQg~?X zT~;*^dR_K~|2<9;!*Cq}2Kcoy;L2)c6@yKS^ zSN=H{Owlo<)B41Ge^=?rk)Q_kVTwAABqOtqUX5B11lHXUd4puWsrvlO-M;3US(iEy zCW88IMKYuMHwvOc%CA2m7;a0>xQE*e_s1*Uayf)Hdy-4R2nv894km=(?1wzg2_T#R z+M>!;-Ylc!Gnqvki}+xTUXct|bIqBUZcs@e8fC7a<|I*XQRX;K==uk4)rn+`;#N19 zS@k_sTo%4e-GRV*?Xb26Y~BsR}affQ2H^kYum`IpEGMh);oN-X9zQh)tCPM zKfsWS0+u^dTHZs5Yq#^WZQj*HMzMP*rjKj;qGsfbEZLcipxnmYVk03EN>UB8g?LJ~ z1C)7)0xx4AM4@4U0pcqh!fCoRO!BrO!Y_4;gkxmLK!iH@AE}QV(^L5D5cpQm=p5ZS zlb_}4=CO4@Axtad2+7%U7XkIXXk>rL1_fT1@PMMzM%SX1ge;gm_F`a%P2cO2hB*4RCoA)|bA{FVQmZc`}{Jf#3 z4UWyRhBeu(<^g9v6UTP7E_vV4v~53Bh827xORmoMSJ z^MCwG(5&i~ zbn9O)|}luv?H}+W#bLO3t4?jzNnbBbu_xd@3%r!vUWPxagdK;fJ;ZRqD-Jng>1K zKA74nOuYOl=Pn+^rDNJ72VfKrX+3;zoUEs@n7TU>L?;NYZVRb=SuXJD0~pgNh>YGi z7pO-0vBuNq4r(u~D_9+x@k;#k*M=_a-F{Ig>`K3Mtq6J*3ejqn@THA7S3xfQEb5k>@yY+_W%>~U$i3`IV& z4O*;T?h&Dx#bwglaMOf)1u=svg$>^m%_`L5-w0mhhQ~-AiSf*06(a&n7n}s$QD71RD7 z&q@>k!A_db(7dVucDuuD+4ZCV4T8}QA{KGOIuK|GXyX*x2Nq$lKLcn;h8QTEXc@TP z_q4uhdJ`YH-R4dYY8wKl)j^r=0epVS5IcC%&w`wLAre6P`qr2H>)-xyAJ*Y@MaqZWfv?E!^Vxi!Ls$11UzNsGXPES%eQP7fuq9~PnF;i-3;EZuGJNqdcI37t~G$*M1%-L(JTj&l)F|S zl{}(ckGOP5noj5~hxOE&n%#Ua1%2ZBX*QPD!6kh`5LMvun5@k|=@b6wJfX2+NL7lN-Nypx#)}lFsujuS)LZ!)OL&(J6xDKO@Uj%db=K1Ay3!q*gXor zP;|)bjn2jbH&6UNaJ=xzZP{(gwo=Q+L9$R`yB!?%oBcQWC))$w!9Y06iKh;sPkK_u z=l=fPLYx~Y=&X{9K>Nr{7T^)ZY(A`O@pkMmt^iLfhsb)XiITvLW%HWS;=2RsA+i|F zJ^Q358u64(Jfd>a6CZpw$DR(~1K~dl$Df{i&<`yGNS8ifVw{L@LpSn* zN2jLCh3GqL79eFy40c4lA8td`Wq%b%XvyjQf0gJ(a+=nxHa{wNm-XBr=Ok7H3Ij&7 z9*~}WnuJ&>6CK}eN0WKCnW{;PHJm?vX!H^+f&uZ0uI+A`JIU-Zyj@;5s+{9iQ7>>Y zlUOsN#8m9cEnE{ZBQ8Ei5moZFZnfV&h~@>(I#j!v82=?>ONApqQ*)+^VnNSe%zqu$ z$h>OV?9PD*FWq8D^AHB~3=J!9T$VO!+W2Iu!gI>iyY90SFJkwMLVkgPUnUpw-$C~t zPNpQhoC&Uy8WAE(aCl*f=^GO*VVl=h!e7r?v1bSv>_itCQsp6*05`*A zmlN_H?Zx%`9g&CYhU;TxmsK6pT$R0(NUZ%VAJgA9Jdx}I{0GgpOz*)bGdS;!>Qju2 z>T%UyWX|aP+aZeJCplx@RfW!wDEnmB-MJUV{JiBU=m&MFs(lucHhHNg{FGW`3 zJenVac9tJj}@~G&4G%t2FG9Q%l8Oa=lKT z8d^ryt56SKZ_{hT&NBu8Huf%HCNF}&b<^A;JYNKoyKYf0iQ8XE)-4+HC8M=5P#rY- z6~DE!J4_4vZw~w)3J%{Z*O!v$|8M+JhL$mg7AYZYQ`CL(a}U5Vw7ZsGk%3r|KpR1f zXc_#&+K9YY=M)ctL$7>vF%cRnGe<}_|F~)Lxn_{z|b1&^ZBT6@xWm= zwR_qW&;r+ZG!NvBaEjikkYjO~AuuSEOWIZqSKB1jCqF*Hw1hE9=?PyjlDRA~CAw&L z%Ozhvz?diCZ_1WiC%cE%UipRD_cjF6AAaKNS$Q%Q5UbXL&UYk>p!tzhntE!nnhQGxYx*8Xe1U z{}mV8Wvly}Y`V@M2bXU3I#-J1y$2J35L%{I^L={z14BxXuW3sFs%OIi_}35dg+bv( zxG7~9%?0x^s;vSlrTa<@WO{z{=t$vIG%|+D?O5PHAKwdrGs%=V%4MBKT1CJcL!Uv0 z=ux`LGoDd3*Y!qbsC>gnkO6%b;Q%}w?ZJ~e{V+kV;JSz*djbP5!<4JAAkTxOEWBzz zvp7|6n{RS)Lo1OF%$zxP=e!X2;Qv=bd6P6ydlt4H^eA|fxn`H(A_3VzT5ig0jwd1) z2id4W!^|EA%|%`2MnHi`@$2Y)PA)H=elw0bAEzSZXWxZeyMUKMR)lv3wT7v~PsZa9 zcB&Lvbz-p^K~;20H4#>CT6uLw&6Owdacvn=io$z>zThfoAOC(QmdYS|8-p?P9v76! zQz4GZ?dFQ1#17%)&TY~}Mz{Thf9~zgCqLUHM6Y2bOf3&bKzz^>9RnyoL5&)_>7vv8 zvf*8}vW$7?jcz#eU2W7_1*YR;e+~v_rw zcd68ZujM0a*9#$R9IlU8}nR(>&HD-QP`w#q(V3 zcM9Y!MV=m~8{+AuZdKfLOCo~Z+MgZ^3D+JD)|pSCg8L_jkQsop}lg*0;wW^Q>4Ig&WK|1nbH!vNURBr52N-_CfY5y*~Rj zzDmdGE&E9K;3S5m>xRKr7a9son2sCMAW@DabkYh-@>duuIQMq$+$>iB9`m>EI{gC1 z|1?&6AiMqP#Yl61hQ|M1E1x*IB&~&%MOQKTdu<+P)3!J#@3Qu1n*|%a!A%Bba;1yw zoe$2DTP5OlN~LOB7(O?u2Ib=tcaJuAfo0MXD2O8Ce!+=_toR1}bxgr6!)8sr3_o;_ zLx9<`w*gY?WVn^AWfl=X72kh=R*COnx@vZZSFDmSndwCBj(#ePb!L}Zn&P`)pJe{4 zN}yb$FH7a(o~=Yj&-lh6*ol`QT5Y_9KX6R8NN&ts-M!9?_N43C58G~3pl;2YDL~(S zGVM%gW)R;Z3W4b09t#*m)|2k z)9u$C+u(&Cr|h(l9(ouhhuJ<$2&EQiqtjS+n761f+PaN3$mfX~hQk>5RTTB;%C|Q7 z1m;V^(?+QfImO9fId~_#>Xo{po&jqm+SBA6lR3;KI?B-~A-~^%dmdQCZ%fkebFiXo zCRs$p7)F&#)f>aU5It%wN-_37H_|Fmnh#{*V&DvDv6f(}>3PdUc6gI9YP{$|I>RD+ zgd=&*O=tOJK&-#+QUkT0_}B+!?fn&pO@MYh5%-t6#4J>64GZ^ACPu@SxhFoODn^9U z7|&lfLAG9WFBkcGP#^-IwyewiR=0gvx1e#B-rg$I8Ns&c`e1!N|rwH>KhSFt8*I}z=5$$hekMhJfc5Q{dG}}(R)aW zLoIp8>7bZ_t3@38v#5X8+YeCi3godOI{DET#6GhF!xRuD;jOFI>~YY!!bGrGyhmP&-GQV##^nrB$JgE zx5MX69;_dhg43ZsB0agVeY(^xJ+J^!?*00Gbn@rMT_Ljfv#Mav`poWA?WC!reDw4{ z6Ypf8zT2UbzGm%S?E*M^8Si}94z^FCmV91H(>ZMir47#DAWpNp#Si-mUMmL|QHDSK z-+dryamFT@=Ow?dQO(I;UeFSR&}i}h8?sr~uk^1<6a5?d7s;cU#4RsazPD41O-=86 zzY~8)i}0C0u8|RHWfM@h_6M#e%gy6IZwA3wKMy0mJr4*hgQoru)F`GX*C5B~@UEGQ zUrY3$-_?T>7%RIz6xkQjcCW;E`R6dvpCg!K&$YJOhM>_gUwF3WsKYtG1@pvTIoZ%# zv5#??ukcs2BnRQSbSPkP1N`g#KMt#G!p9HWA*O<8EDeK=KdCmmen=45RVJfGf$Ou| zN{UWR0SOo^>+w6PC`I6$$uy`RC6=vGdw&iY*59ZwRz8q_>@P^`KKt2d9RN-bZ`r8mPqQN-AFcqLfA!FwGbgQ!3vKH*HWf=S4rkHOk!8+^d2O5(fm0>8E_sI7l~T zifZWGDIYeFh%o$lo8G#BD0ab!jfZC1jQW3;sPs_g1YzwS+w(jdPX{*Z=gGNjo z;GiiqjOI;{kmP>K-XQ}EaVhCgsq15>7YgGQ@^v{_0SbWptts$H{*^<=4sIA}aE>%` z$2i`|_Kxr~c#K`9l3oDV`pSQ1PbvY%;2Jx7D{qvk9D3OMc4~mn)7aB>Er~>uNhFdh z;3XF-EL)E5z|KX14Nv9()_g`S)_kXgVc83O+a2lgNg7Sqg`g-0zWZ>t50woVBXn?j zeRd@}XtC$-uFLPcFS^hSELs*KiJNrEIX4b!a^xawb*N4j<{iSZYAK`9~E)$b2TnAz3IC=N;CV)`13TgaLl8K{6-U$Zk zmM&GG>TaE07T@c(_F&9c{Y{8#owYJw^LE~PNhA1)#t+7tUZI-h{%&rc0MEuT0qw&z z=_}&Nwh!c)T{M+8pNM`Tt8l%~eKu>{&)IS9<+}v~VLm%i-#H?Br&EjIzXEp-*m#eQRK}&+o|6ibcbSUdK{n(;%2*`EPytlK2$sE_({+dU2<9^*!g@TTOxd!f?_b33|qdhzU+ z2j#77fQ-4-w!CSBd|2tJpaVB0zjSnx0FE~ts&Dz*im(MC>-XswhGFI&E$}CXw$C>9 zXfkToE{F7F`@$%d0Qo?vVR79P@?cle<+qK6fvpk;UeFdtC2bbq_(4!Uqisl#DBO(G z{n##HO>F;v|9q%JlQOu^|6dHp)ztwh`<$c$0dv}YRkZksTM*di9&$KoY<_cz7s04KhUJO~ZRCcx zoV0@PwoL>|ZD&f?6|+H*GQKhU<+~K=j5nO4eaaAn*zhVQUFUHfk(<$N&=>qK5)7Vnnri zYg-1l2Bin<(R`e07E_4}aIz4Z_GpAkP_kdIL#ha)do16pWmc%tesB+WGxl1-wxJrw z1RQKX>c`tB-Q_(EXp=UNa;*P#E0xgC_bGQ-fe|Hx*pe#AHZCUu1G?^jT*n6A)VR`O zJlpN{y>?ok8Le=W=glU0H$BH^tiRQ-bJ*UloyiP@!Me?Ubiiw{d}Dp0!Ha-XcMYQmbEF=B*#fh zHFZ+_>Y#VDs#RENo8JNtZvtNu=WX&vN_7|pW3cbmpuDRmvx2Cv=3*AJY45+lO=>@T zl$%n^xPi;`^UXCIF-zLdr25s1fS4fMiMj`6B_G3+59rj1W#wO3f;cdGhN)8DM0=`G zO_!t?V8iSXsCXm+e7`9)gz&LQc!I_|F$|_2gNw0$4&;aCVLMMlOAp{or{3`)pXY3U zgZuvgEs<)0?2gerqVR#=g((mZuHn~7S0sA$McIaqYR7x`#GpqO@fi9>bUOL}Q-)3(vV`{yH_>xM)Xyb8d=aZrPg;_bP0(V9X6`G9lutzupdXO%0hKDH<}Sh ziD?GepV5A(B&jq@Q#iBQFaAjzs7oQJGZ>Db~H(7^XA!& zuVat^zEhoX&Ko=JY~53EE=<5B>ex#8!TRq(cerV7oilQSRGf;nDC`)*DKP(EexiZ0Sy2 z#R9OB><6g+7peHk_6%VIyoI zD)1*@x_O4<|JTt=iQmIRuNd_?h1>&+cOED%w9JXNl6CVH5Et% z&fyUqQ;YJsgzryTa}Kw%>n02m+m(ZN-6;=g=qbT_1?IY{7QHU|afVnAKrXgOr9LG&Bv7hxYT2i__ac`q)bLM(gl?1+-K#P>=M6v$~vjfCN zGQudrS74~0Rad(m_RG5Hd136-IG%t(AA=32m6lCbDXhJt*-rnGCri}Hg3RjtovD5$ zD2oW0@4e!v&D`S^RXx4>h0|9QYSV*&MVCl{E~>L@r{d^kh%FhSxZSWj^IO+z&pl$T z8OKA|yxijh_WI^j@k-0b;m&dmGIV&CAGH2G7!nZZ)~~aV#F6p@*L7!2q^xrnElC2z zY9jbm=q4l9(;mF8W>^9{ke%J%_5HYhOgIkX^)uE-oUcY-&(_A+?7Yi)d2oUQ{g!k* zDw6@_S|Ve6(~==^qnnE?KlVgv31>AuaJvfPRq^dwDM!4CX8ZB$zkb7D zu!jiaGw`l+Cq<{CMUT2&7*RJ`Iz=~`+*yk|D3Qo@<})ChfVO1uM3X7?nn}@>V?c>P z1M}X-=-THLh<0+~8*nS_uPo*-`R7){i zCWcjk|NoYy>fuUW(#3DDy5?+MzX-QE7^I^oD6$ooz)6ZtPb#FivwZ{b|0r9)QM1I< zPN=h{+I=wh)p+brAflvY$pE-gA40~}-5**X4j;ID3e4487sF;9@gt)R6+EN3fcl{!vb)1iwmPg5m4lb)7hvpeaZnYd_Op0#P37 z)1J;Q9+CsYRtd`Temd~)l=gF+a{U#}4<(e;aE~1xkbheqFS-c7DWq|ui#vnJ$8o@+ zgZw0`*F<+PZBttYfZ_n^Gc}mJfeNdK@WZvJRc}XmdY}MMBH;+gDNk)ueMiOrb9NgY*`KR&p1l zu2z9MycGhZ-0SPktY@V^b6!d8ploFT#HmQln-thFd(WPr5S9pMXA_Iu6ibf2{W69TUlT58556U{)xB8vIGQNqBETNOafx6Gfank) zg|*p&M#lAYW-LDNex$jYd ziox0UX?>j60Jgh}*P2VTFG1Ary~@+KB5|SFv2}LIJNh**>8iXki%!^uk z7*-(j-uirwX^Lf58YELQ(=S`YHFc)-&SsR+%yxj?1B_72UJk%5tn72ROcQP10U?%Vle=dk%c z-W}4*Z?3k&S*~>!q+|1HgysAF@p9@$6Y9^SIfy>e$f>=rmoOOA@4k3<8Tc8zlxCw1 zO!jdJwxS9V#!8AylNIV@x(99DiQ^ReBokR@oeT{|wTC;Z3}~LYD93evM|S+8;pjA7 z7M9?dY8UUuA;mBdhy9|NAt<8Xhxux4PE>;r4tser`myJq8eBU!aUDhQLXfXRiIW%! zKgGY)2Yr)Py49E^Q^9f68b+0@*UVllO(LDlCK9jO)lqaWWw>WJ?)EJ5cYPN@H0i%h zLAWRi5eLOZLYPFrD~k_)DKvj2VWyp)v{9>!9qADE%Fk5ictBB|t$&WTz-rohSJVU5 zevuLdA~G${OL62Hd-I**58!|=2!cu|J)Q+`?AuUj({TBp2draMKYsIWo9jCkLo~SXX##6B z%gu|oz3)a{*?}Dt)`zOIKG^I*gzz)Wgn(pLhnb4`E_)k%>J>aUvE|id0h1WD{E$1< zj3+oT?-p4Tt$Y>hNLV1$q^nwgxVMZpo*Tfx#HcU=)I^sV(MK= zww(h@;-Az$m(%g-m}{GL&>{~P^WKEooH2~mAN~#I`mYRXx`NHk8{2SV36jk}yRtkY zc3#ZkP?)Ji!(B#}Sb=2EBHn1c;Wm4dfFoZ2S2qEnEUEb6XJ(pjB~;vWNT}a2JEULY z%}|~WnGx+2e?MHR(FIv3Dupd>UA#rO7i-pi-}8M^S+oNlot*+0{7hlmw~;>@RT$IG zFkB@Kr6c3lss zBi=$!H;iu947m`iBpQg;*Gt>dsh4&Oro17oVjX2FhZS=tan&2V{{@7GJQS`kt{ zV0c`JWE=Y;pYwNBU}_Ez&VCxq*a|r)?c*8xQgZY@IrFRY&&~+Zv80iSp9}pBxh@c~ zEMd^St+#W*G14w?G27O4LNdlGs1X=)kMc$$Vu*=g+5TdTpY2Ey>RX|r&yYyfOjp}r zn>gcup!IIZsBi^sVII27m?(2klSd$$gJp^zSbLRPUpJTZZ}=oh4k};6#0mWSZL^*3 zoH>h*qkdSdAr~Iyza{*P@TPQ=pE3%4DWv5J3?kRL?+uS}^PJYY$@Itid9h;XkBw$! zOE%KBfn%%Bp*Cqw2#1Q&`6FB&vKCt!HWOBuMUJIcjDz>SmMz9DUPt!@&SAb^W-T05 z`l768vmpjd@HzTGEFBvp&5|`p0^*=F%vICe;R4q%yIv9?77{_njjDj{>yu>ZykAK7 z;}z+&``2tde_=Vk<(0i4SmaXVLZgjrO}B{#nw!1f4Qg#8OUBt?b@h%^vZNCS<)-@D zLF8XNiGH33IPW3DAm~@%tG~P5=z0C|?or{bC`^_XRzA}`g$XyO@6Yu*RRj-gTG`A9 zp9c?%ndwqh8V=$4WPGO|xfGF=oPTk8C~mfIAhpZ6hQTOyC51TlzRZC7Baq|;DmpAh0H_0=1~LkvZOP7*_6xxUU&50>Z_ zxo*u;$=(Gc&+!{zSDGByh+P9FLe}@Te27a+wwp*bU+CG9dt9nT;o7bvbAQ{+e1-}QV~bW0GVvbZ{X6E*%JJ?3_LfrMtD1f z=vY}HfMetR>rlWoyG`R-1Nf781me#o;S_Q%cjr4#H=zc(%J}l7RdsMve!DP8+BXT$ zCsJ1lWIGfCHjoR}GN^XlBu|bXRBrs44ICU z32NA@P=&!p->bM{9)T0Q*T$&b;?6xndf0}L!&g=jmlq0N^yL)O z)l0yQq)+b8W`-0`W>ms)lK6nt+lH(Z+D()2JBpr#bboGD4`a)`Yarg;HQl4jn&7AK zuo^AKR@*NL_UU(*rnCp*l;n!i6{p6y7uk~IvZbJr)_kd^_8+7(57m-&OiDrgl%mnP@w zr!<8&M&d!F5`^=O4kN8C|2L8lr3S9VIw^DA&SuAh_Mv5n7B(x!(**1J`oh*2w#W_6 z#;GRKW4%tAb(TwsUsDtydg5Km?la9UZ;tR^p45N;;kfTy!BlET`Q~i@`YQHpXA$4XPM|oEe zxbCR?>ip`;`BB6#;O$C#9&#aE?nibc$-nh22#@)?do$aK-m`G-9Zt}jU*Pg(LsUZw z!<5N*lvD@SW}L0}Y=@Jis#T)Qn2iQarxk8z<@e8c+4{7}!6Su3x8e$s;yPlgib8BW z+zqnlGI)0?1@zUjqU_{|z^1?mZI|bi*gPW@_TMyC=yn)Y3szVkn((M1=8r9>N3?!= z4gIKK&RzpW5|0DLRrc02JkD-2r&GQk=N`UJWr&#VkPh*~6n^gnHA>cVjpRUUtF{#! znh{@wduof_)7oY$WhhgjFlz#f3Y;y=D*;TJJ& zcW9_17DJ$Rm|-96t45Wh)zpgPP_DR`G|NCu+uTZ^>M`W~p?f_@8`#!Gmc+ zhK~F;@}wOB^%qlHT-$V1nNN`j$M8qvq5XTHW6ol7f(G74W62EyOm5+93<>#zd5MA= zzMN+#PfE<+@_>sMH&33~wNbnSpgL&x82o(|;$G&l+5K;tW#NniSwar~{|hpuo%;_w zSKYOcei;5Dp8ttG^`{_NP&pn$-vkw1k7pKjp#YN7V$`@-23bFn4*;hnxErmYmpVnY z792(!lNROnbPQu-a+S3H6{k0`F7g+5p>X{h;EoJQ^{}o>If59%a>Ts&8tH&U@2Uw*f6Mz;YzPRQ7*zf_gq0GFj@Q2+1?L4enTW|)GSX89Zn6;3(a#rw^3 zWKq+iNm1UR!<>)De!l^%u2|?DtMP`LyT~yPP#Q_li5gq&4k@ge_V@kg(;%b92ODmh zYM+>^0HwGXJmwO!h(;+-R11b>Qo$Lj7J1j1c2Vey*S`oZ&2O4SNXJaRvagd*aNz13{A9`~!Zh&r@C;455M?o|7bt=I()L|4^VKx-<0>h9yP8~>x6IF+=f z;GZv|_=k!sno&$%3fE$ma_t7HhgrM(=qf)F(vPQZA z17Y~xIvfbrOSKr_=MgF(T6&*l(9LM6Bx08u+~RNIPB@V)Yq7!o9^s`?G|4CtUV2MFg!Z?>}^Pd2rfUT;!TOvo~OuHC%=sFVPb0n@YpmhR~umUT%;gR#TSzl2^s# z2FZ;XDFs6F!_=#T&N6VgfvLd_+GL=r;%YSZp%5>dF6+n&I-}pNOk%kM>`YTs?RuMZ zHh82L!N8+H$y7L{C2F7W_AdS_jk?ejcupAIudGCh6y`lhTDpXQ1~Z(t+7bA0`E~0M z{KTg4=$SRkJQQNigcyH{le2dNX&O_T5~GqlF!t4heK%FB#ivsf-)wKtp;h@g6=VdJ z$gY`$f?Ep(g{GXQ&R9HaL%l>`YS-MG@mHAaj?0{IHd)ZOBvvB^-)_*(CJc|UO)!{= zS8Z`>Wi{z9nwXkL-OXmh;~mc;?aW$D*FWpTnNGyqP>yOBlwg7@8rcPb3CCl+Af3+} zpK8oF80#Ci?{SPcNR`1Dn@ZVkmR6`!JDgk|_t@Qj0WDr}Bz1vLnTJ4)erzPc4gW`M zKF2k0Q+;`ZX!oGbc~!6Zs=xM%8w!PE_;Mr3?WBMnu7ml=3_d{|_2XR0$5suB@I_z= zb@=yaNwB-A4X{k@KNJ}Z2KQB66}e9cCM^G2E%9(KyFpv;KkzTmL`s4PD}B)5p7UTB7Pk)3EZFtY-_yTWIu}tvcd3u_XccHxtU@?X$yD^cOo}(9 z%jA%`VAK@BE8Z@4ETDtt`9IJ)jr~_`>UXK=erz&A7P)8yfA=PEklqwzVqCN6?O*(F z5m>GMT}`|eHJgViGLE%afrA@cP8P=Hw)ODt{t{anP0U#c9_C3{!OO>-#!efQsSmSy zn)a58uGSEPYTSMDZ-&9R8P zI)E_Ssd(I%Zhhr65zNQAr<}Muk-bwi4vxd1S)Qk{#l$l~bfaQf#N>a* ztrAhb={_Wq15FjB5K_ydlEzjo_Jv`#`I~@cHP9jDZH2ky5$ImDoXT=N5f%TKPGS0u z#HrSYaR5VQt6o}%Q*AjDCPJ`e!PcrQ#Ock|z~c^(N`Hly*6NlfM!R{s$*12H(z%(^ zXsUSrj!UnYFf=N#Ga#}$tc_U{)ikp?8qv4SHO9QN^pw0v`k2NQ*9cRa!TYW$W-p4V zGq3(Q5tT>x%O~Wdm1QX;H%XK;Dh;U$2bQyAL#1Ms^y+9Zuv~ObTO7={{iK-*#GHKU zlEmYE87KrtrI7Ngejhw~2A}P_Hq8pIfznut@PSoQ$ESFhbbPvl@wrTi^IwU;P`NR3 zJNDiAh19qm+2^*}c)48$^Q1cR4+~7ieud#HLVNP{bV2e39|LeAq-#3BKh?rA&Cafc zboPX2W2cgOjiPL8XAZ#&kidPF;yOTc<@+~gVHOyJA)au-$P$&GyOzm6Lqj0=wKX1t zC9%&_9(1#Tz9hQq3-4yxVt`t4dL$mtQ9$UnRX6&fqJj)Yu{p-S_NU;yr+mUc3tscM zFDyK}3Pupk5@7)z(?i>7T`heg-#ATD?iKv1DOxM8h<40(9?s3&(jvcAo*hXu0pA#% z9}69dt%dvPv7GY1^?_kyY`)6gAhwTR@JfeM338W``0jd6r-O(8x={`H6**5|Snvak!IEBF`GR~;4Daccb`H@=$R-1)4d*`zG!pGFBV zy|m(YIxh-S$=L?l&Q84`#Ty1|z49@5V)P_ol6FsfEVkS)FYVbu{D-OVol836PLWNj z1^~9R)`6auX?RYhAVW=YTjTPBsm=3yOM5P|SbZ@)XX$F-YfAC9stC}RErers?_|8Z zGlkouQ%L*PsdPBCSvwGVmTQFV8{(-n=B4B^BaV#Bk0L#gM9^IWe~piK?#|zC#SHe^ z{>UuZ$?s84{gsF^gxYWIXYRNa+R$jHzzl536qAz-41SGNsb4E845uLNsVMCZ=jIZK zV-*=B3-Za!J9$GFlYTR;!wlI*yse+)glwYJlq20J&0>F296Bk9TwU{KI3|@R;z%BI z#@)WF-|ar za3U3Qkn*1{V()vZetToamIDFBC?GF@DEhnpRnTtW2br>@KNwkEyBBx|LNPynRfVgF zsX#m~&Bw9Zgj44!LY0W?^%iUhV5NndHbw&hWfCITYaqL1>5iz*auAumPhh+x2@lPX z2p=*OzB7Zqv177F4?%#z-Ij*7yiST9+ly*9PWU_$;)>a%&I+ugehsLbLUnS|tOLsX z=OMg)2$C^zb&p?%{S>ska=p&b&Aaau!*w4?tk8E7f z_uCF|^D*Wv&wjiF@2e zb0cd?-&gIc7`$V9W3wvA5&vbg>ee)LAwlLiR%wjAE*ZZ{`_?x|Mt`==gvx&x9Ct<2 z2%{x|Jv)L^`P(*_P3NH}6(WDj+ltA~0beSWvI-ER9~dT}l%;X48XC@hws z7$0}Hrvl(}?0m+GB>|LCkFxt)k=}{*U3JK1RA1VG@>#Hg%2(<)D^iv7|E>_b^aWbx zz5bXcub!$06a6W*{Tcb0)UvlcdQ};&2_&C$VV3)9_;tO>J#Ep~?q9_Ya5XfSK;}@F za$y*ajF^Ipy>NLCU^h0t_Ya!C&vu01P$Ge@8&w6;Rj~+_zMN{sz^*9n^tPw$ixx)* zCtRTwdSLZoPH5C#N)YwAe`f%EED7@c_aLN00^Y;_5)Oy{TBr!u$CgaqVtT$%fL7kE zxE()OT7s}Al(%1*B=K$ zYKZkvQh%urvqQ2skQoh#cWN_n$2>p(WzdC=W8rxyx)?GwJ+~fU2uqR90CIe+gJd7ew7h3!T1!q*Rz`@6 zOg}_>bWvD_TkxvFPv77 zp$??Yb;A)6Io-vtd^OwS{p@NXu09M1?IboSd_$JBZNAqZv}D%8#g{`p=fq zOO)x$F7e_`)_2bWy-BsyEB$-HkRGo z6T>QsBv+=VTCPWCVN)B>tCl!e1BR6_N5>kmK^Ko|fC+MeIS%g^SMZ&wPH| z*wSo2qa}sn>7ylYA1uA=TYH=&s2Z5tt5l~Adh>ih%>f@sSefx2 zaMcQisXS0pw;B~oC^0J^**xiVSBDyS>?g=l=R;1uT9|TKa6SA1VaNnd$}WgnH1_J@ zPjK}r>shP8p7?uU6(phnkMb7eo+7h#CEYNge3$4+-#YKt-5cYw(Axl(x8gtbu-{sHtI=cas+@T^%^v8nc_Zp3xZVV}8j$Cb4{&~oAVyf|Hw5eFfGD>ugm0Xxw zDp<8DzS?r_jsqSXxJ?KlkPsFfv;#@3%|vXvU&<@|NbCpQNM3##C#tsM>ejLssF=&m z9IyiS$&<9Pkj)aaK*wqANH&^~NQ^9!>Gr05qL-O8+Dv2h-WraJs9>fx6L_(of=(q^ z%EoYIj|HStbNGdn*!wl$fyxX+UyDniZ%z5~!t!%J^;GcXzcV!fpCD&sa zXs+5e4L5K0Ofr;SLEDu%O`ve+kyayqTA>;*3k8V`*EGnOy8B0xKjrZ|ma@>X<2O`h6YMqFu z2`9uZD*AEKVGN$FeS+}G=$jOy8VjXJ{eoJoTA<*_#`ftZ{t{B)#nGvaYzu8Ch7dk*l-7&C#Yp&Ahvvdgv8q<%4UM zDrPUx0wVX?+6?l`#v*FK;4O|g;W>BDV^7wbBd29hnBQjvz>XLbCZ_YH#81tU(QT-!1uc zi@r5#yD@*B)^$VQ2h)AH1tIw_)Jnp8E9&M+{yRY$&B*CUY+ji~{5XF5=vHwnY;dic z2bb$cWSwe`_I@J0thtIv*d>i5lQ=jW6lhdaP#%d&odNajw{21Uje3Zgm)~F;b0z7UyZxOcvM5Ex#Y+z z^SsJ1d$@XAH0U`bsGh7&=k@5U2;h{I7IJMY-A`o?duX$6ri#@ue8k;mx7X@vZ}%#K zeu?$*vk(B zQnSZj4RPm*?h-|RpHk(`xk|_kMOBV#1GZ;{KG~oI@4_ot0N20*)Itt~D`9!PiOJjM zxcl>vNeVZ;=S8f<$>$WUoi?xJ{P={b(K7XQdzdJ-@fd0DUV!e)4VyIM<&vF56iLTt z#_tOx3@3NzpQFwliTuj};;%z9c^uB!fysp=;nL+xpq%0ZJe@mc*m1E*A;PZV`L;#- z1h3K+Bq^!%Q?8v4&K8wIMgUXpzV66a8V7H>H>K!W$MHp0Sm;1L(!lm^z>tl!T~=Zh z1|M2c?0vz zn5@Vp!HSCBsrMzZsijxTLYQvN*p-&-GDfKq7+`;&(9!u>sz2>mJbSJYzdtW4SA-2J~7)h3_>a(oWq%yYh zV@lfqw2w$cJb+W>%HKw(AtRSPb+sgAAw*1?YgsLd=>yDDdTAZK?$EeWM+at*$a1#f z!j%cvU;mrXBSB52F8NKN1Z@n;ApJz3!QnMPQ7RN%;|XsAmwt^Zw(M&oqi_;QS;NC% z!w7EWf>M5y2D%jh`!eT34P z*@OC+gZCDR=rOdMn|)ApyKn8L`O=^(ECVP1e_g8zui`5{xGri8YAh&UR0G(Pll!j| zkC`6yjRwFAb=+L$qI0ot9y9NY3CBK`Cxqi4gmB70Q?HP%)vwLt%CQYx2MsE-17C}4 zBRx;2vN~MS{+9&QmV4D|QpPUWvR^T*sATUxMn!jg>r(SoW6x0x$>f_hrPdZ|C0WL! zh$$>pXlT6Fp!!M#P!&PS}1`2Gs% z^1mg#oxVWlf_uD*9w6De%$SPlC$Gkpw645w-V3^*&tzwf%$|%4L|h}|OLX{L@XKX+ z?){T~&lbM83-Ol@MKZ#*pLt@3s=y(H9c0V(*^wny$`984oXdU(U{yz*IU@vto;+=E zESr0U#l>9c;*GDl1E;LT&p3YwH4*VAkcQHs0_>0=eZkhBNW7=e4VI6f$3znVO^g0B{u-n-iT#AEYuud&=HakYLPbGtCH8Qm`qZq1^8CY(ey_PMH^ zBYnOSYCP9$qBA$xK0lyLe5?QY)Vs~Go6ueWZ0>s2j{_$-AjVdJ zOfWNF7IsX$n);!xx%e9W*^+^G_9TWq%8cr62rwqB+K4-@?x&712fuveUQLy7=e>~5 zta;(q&#s#E$`b|VT>4|8eaQ&!$Uc>%TPmrPa?e;uCM&m-xmbK{dR~%I17YI&?Utjw8w5I{lXyjg`{q5L;)mH6TFO6}H2QfA__~S2n>%^%ZQPNg8zRg+iw+cN- zxeGx|cT1}vl>;1l%$d-wPp0o*RxgWLl#<#S*W``Ik5>O0 z`1AlCHdE`X`J95Xqxi29jl7hWuTGA9vpH?U9H@-WHW9H@zP)FeDIfak#n3*W^iyPb z;T^?c#P5N5&%UT2Q3^c=7iIuy7pJ4Z-8A)rNPtz6wNjgro~d-N)jeaf1?X(f! z3qgRw|0c(d)v0+_o|id#T%`PgG_iB_#OO9LGib=p{1Wbp7hEUyUhfnGR!6zlsX`PM z1(!h%@8|&uH{o!lk7<*M9&E9a;h444*hH&K?Ki^UgUKZ3@=I4OWY?EOpPECiZi0F* zNZ)AEIXEt$j;tdK%;G&pLZHl^`%eoWi-g>cr^#7#U4;adHe7EEUBew3Wy9Z>-vD_fFC5%TH5~mC z)(#I9W13<|=}6Zji>Mc42igGTRY~-sL{=ZSkjAyptMNwzQZwWe5SDv?`MXo#r8;pTXNkcWJ{T5*$&vU zyYBN&q@0#9yLc&L$Sad$IsZju=)-=zdQwfsL|#S;A(i`8e5!7<3r;3C$LXAHf*|n) z7qrb_{19Q%aN|kEm@G2o*g-iyF~~RPJ~9cR@lmC#+VV9#4Z7Vmq-l3FS|nAE(1`*gv-Y1nzQI#tk)XRs8QC9O$|_gU zoPMEfKV%&_{LTuZ(UdV`V2a?k;>)6HtUWYGWbwD^M7|k*r9^+g(E=Apz4A2%{MM=? zRAn9j>w`E@lUO$wQ%cXQ%})~S9Js!MG|o6fF_a+po&8`w?u@je4)yv_3OYi#mIoM? z!D@NOB_(Bpe!!(tzT~L*RyPm~j8OjIf${Dd!t)_cz*==XrLPLD9116AAX$InGz?z^#9*I+jjOFs63Yqm=pL5X?1>oc3BpV=2NdKT`PV&M@oPP^6V7lx= z-7a2C7?-4yHf1z6*|b2i4MQoSa>|n0@gj&7S{G#$eD#Wpbz_ZJpRe>E7oBAdo^_Vd!)AdR*8a<;x{kyT|^J(A{x17x&p+mW}2+UyBV@##a! zjayo!1Hm7gg@dXohMkEY6m(2_u9Tf&0c|$@J&CMpqySUz4WS{($otAVfbxNmF7D`Y zHp_^~(+IYuN>WbhU%&M1hRRcpHA(-41wDAQ#E2gTd|1}e}4<1diSS2wl!m2r1g!s((D`3Hc1c3nq23y*=M ztONx62Fr;z2f~LlucB^G-dS(pO7aK~_Qy5tAoF%25YM8{N7`<3j8>#^n-$9O%5XVK z3br|By<8gCCJPO_@8gzkrB%LAP@ zrpr+Fs-x5+`LHz=O4mz9)q<0V8@{Y++F4$8$00$I#JPh}Ne5CSzC$7V{86k;gstp1 zF}+ANZwr5pycLwySKVGJuLKDa5Y--youpa#KXx5$M3SXp^&QTuvR`*QU~hGpX<+cf z@}>~=^~oB~iN&y!TJ)<8cVE-TVH%E$eG=6m-`NXlmy6-0;2vXVg+Iqv^{#bh4PLnY zJ0k@r3;|b(Mcn2EFp3L@0W)cZ1W=8OVH9QG#gsHRfbGu;^U^@n(7~+1;oVygDk^7t zpTpqeefzQD9QW#W4xN{h?kV-aio!RNW8xGsUx{f`{XcFcA8Sm7VaO7vI_1uv7CyI~c501gGIfyV6QH8T|gd=oIQ+d5G5LaQhC;XEl_6gLdsiIdqU09}M{gX4HBD<1|MN*OsMts8Z_hX;qMzpUF*w zP@Z_)GB-_7F*C>!=}spP(kKH?dwg+q{z510ncd5&O_(;<%J1p2S%Qa5r_F}C-!g3y z2yN1V(c5Dy%{F_cNOTl0fx1n2X$vZ8!#b7oEnBPV6z88KmhU9$ZkN*(oak9s zdE${l)tG=9b^5HujEnnyZX!<|BT8$s*$FG5>&CfP&|sEtQ? zZ!9_6P3Q1w8|F4V$aQNYJvJm*9u&cPibi!$o0>sS{x`%*o(g(l)i+8UkU&O-)= zIYk0%SZGyCPlK+D=9}-lu)4HA_II!AxU@K6YkZhGzEGH7x^(?BmI&FlW@x0A$-kxbMQwaI8(Cg-eRu( zx}h2GCvNunpDcq%rhxHH6;M~~q5uBX+iTzc*z;dYNnw|-Ef(C%D4!8hv7+OjLo4lv zbPuZ>)91m&w24M6sL7#e4gvR^8)1=*3v0NYS!H1}Xc0 zd`!mnO$S~@ECg#b&-Dv%)QdpF4~r!?DLU!{m=^d zxM%b9uddR(YOHbJT&0Y{n3YbhlPce+Szko!=Ul7ESHO{2Uo_rGo=R2<;{3>7m3u4B*oHqxII9zJ<%EfyL$PamE_NNud#=g z@ly$tcQT74EDF4wyh~i<^16Jj{u3lqfR6-tV;GDYrbua`6{E`smY2=nhx0|BCkz7{ zzKqyaZul!!t>Rs|&qUzLx81OXp8IE0;rmkgLVcWRFqivn%EsZR$2ogfsP7R?9Mj^@ z=7e%OX7(DFD3ZkhQ-0SR?E?|TR#J~vQHB^>4AuWEKfY6RrLX|p%?Jti0#WXm5f-7)DMZlEbu^ulO9Udsk% z1G`!3JIv}?pIAUI!E#!;0ij z*p&MYs>6n6!fv-p1N>2)Np0l5Gz$EuDz@vsGZlZ)(wVLbhGytd%<&u5+$W9~1*RYv4)!7n0Sami9LEnz$5?>Tk=6H8~HtLm~_ntxgxVNowERqOctF~Yr%jGvRTvF?&L zk$SXZi4;T#I3p0}xVSGSr7fLCM^sUCPFoa43nr z`bU*MJ0m=<*ylRunc}&xv`T-h&w^%_Do^-zq^Fg55aw6a4F7SXKZW- z98O@UgQ4G`IXEp>i~{Mkmbzq8rMEJF#4(j?wH?73+#O61u~T=!BbHC}B{S&XR+1mYs~tWBY`nM*X!%B)@6R=6cJM8k+vsR?i|s zcdC9gSPLm*2(_OCC7|jSZ-+an`dpfa-L(lrMoob!srK(P8r~y=0|o+Im3SQ}ki`Em za`2);F@*Z}A68cXIa??a3ua;cq;Z}CEEn5;99{R&a9#fmV3`sTk#8c)e~KrP(MMOU z=hwutFGroqMj;`J0XWJhm}sjdPFSE`8EG`Ilj#ec#E*-)e>fg=lU(?t#ys(Yv;v-i z)Ubp_KlnosGbtR`ynVXq653Mgpf}}l8*IOam@^oZ2U#`qP6J1aNt(*1_DM4t8p(-H z*^@M7#iDo(E4u!4k2vHVm-;x+J~SKM<$q-|QUNXtFQCiLXA` zw0kL;Nh_<&^<24e#`~NZ_DHm6bsK(CN*s8ZjPD~tk}`#$KP8Z*vzhwK!95VcaE6lus&uqfYxYh=VD#=@VRNekl_T^ z6yuodN9|m=;pylz9FQ&WTr@G;I+dHa>&wzKw*KYB|D$bqG#$C-TQ`J*fIgc9H#1)PvG?+mw24d8d#s-N7c|IkJRP5Ha|dko02WE>3L_T>SdTbRR% zN)khsJagp!7&Gp`Pv=ly^5)l~8$W4V`-O9xPx$mEDd7{J>7~2r@E87f^~@vM@F{E* zpe#j0nSFh5a{_d(2u*-R&pFOPLQkx2x4=jDb{7ub{@pt!p8_ubW~d30eJcv0t*8u^wB~6OhV1VWKyaXsu_mfkMK9WFZi0MwQ z($EGBG{yvN`E{Y%Jb@%9j#Z3VK^kfhoF_ZGF2iGlr(8FN`0k9)3>?h)yd33%)Tlp$^}^YSgn`DnMIWs zt@W*Jj34THHqL9t{T=mi7bA)g0TJr@hr#i`D9Md|=}(qBG!k;=IDHi<0XQ;3iVZ>4 zxK)8-q~DXOst-V+QWqEFqN&>W>#Zx>>2O4uX2U~i(HIsNA*pA7Dj(cz%zioJ=HXWH z`JXuoSUs;>n~nKv0i4c6FuT88&l=fUF)~6|#Q-DCpp0;9Xv zdh1(efS4g9F=?%7fX-ARG%KJQE;3BaZn^!*b{APv9t z(xs!0#W(IEO&$HmqAXMI#H)#>JsK^Vjk2k@4lI;NfUgt~Ag_qzjgFuD@&u1;t!jn# z`JuBNQ%?gSw`Is}pGln<{K6PN>6;Bi3J%3r6~qxj_j6;(PG276o;@H2B1wJ+&@=zc>e?PB;2MFZx@x^ZqjmOYlu2!j+Uf9S~?JgWw|jE{q?(r-cjrX*pS?J0fn zX8?0FRZaTxo(~}59f(Z=C&yDt(n-t@Yx3!%+m*gqL$$-;OJDhF1kEnWui_K}H6^K{ zXpl(bbA9#pa!QGY$SGI%zMPc5p^zo973c`XuYEWoJ<~{=$L~2ao^&)?LWEZu?pu0@ zI`ohH;ZtD!NDo3mk4UZddl11&-OE&Vu+)YaXPGBZesFrnNkF3OmI#43DpdI3#~IJD zglethJ-6Y~B@|)2h=6V!l-`J6{=_jYhTK{_qv9~4fF0+SA|D8>sWs__lja4};4sH;{pz(p>a9|CgRL1dLW)4B8~!NzM2t9<}6n(h-r z1gVN%DMDi}@2k#Ximj!!#c67#n|V{4l-2{zPuZSBKkF7oj9fs#Zy`WHK(LkygoJR= zVbK3%R8waUdrNy}!hbT*|DNUl&F249bPIE1M<5`Of8xIm1_AM(Yk&}p?5rJu|0^Q? z8;OmKO-zBn{;LB6fdc*K%zrw_fA0hRkNuxJqaXPnMIh$?X#d;Yf5iVD|A!6+0Sx^A zwI5?35+Gm^M-u~QJ4bFpDFY`36GuWd6GtZtJ6l2~dM-vrdZr&GAlQGNfPuilz<_{% zw1H3r1tldF{{QVq2M87T|7ivJe_BERZ)-fze_j{xtLVQ+B<+UA0HFccpN_2QzFGgJ znkINUL49~k!Q==eKY$d|JG`W1|ZoZ18n z%}RQ9MSgRhOCr_!jh>%^&&J`qtqzBdetkBY(H-d}}JF*=*698^r4MBGfM%dusTxTZ{-+2@L%ku#R6NiZ_7{eQlC{0i1voafezIvT8TU{>xmA%AZ z*AX+ZsOd7uIAS7Mp*>WcsoLq85?8jk>MM6$N^ybhzHkGzflz3Vm%bAbr=(_lb~Asz zfSy?Fz#Kuk1*cyiDyZr`0I>w2g3{DXEJzVA-Of>@{&DEqv0vcf>Abkfo7&Y17+yEn z?8a4nZ4-!?(gV>G^;!KEHaF0@qp3C@Hj-q8Bv0E7js6!jJgri@As}Sqd=JMDy;@KQ z7C|)sFqHKnGXf_Enb&iKpA32suDciE8Y~?UPKJbl&Ff`hM1nv(CCx9^dJmpIFy+Td zjoe!8x&%%XyII8O?G1KigXO>@+@Mz#IlqCpV7Tdoh7yR(XT*Jz3z2MVJz$%Op}!S! zVNa`G7%EJTM2*xx`iKJ0O*|Kj@dKg5O238$LB9c~`d5mMjF-$&uLhcu`ip9Y zaIv)`!J1TIzNzm@o|NS!2Gsh<&v`X5wVNZ+1 zARN0P^+@u-n}L4`C32S)kP0B&KWwp>KP$qkH4Ov}mn+WjNfF_JAf+D}IQpJTO(lnS zh~zJ>qlqCgb_OJc6c+b`an+h-E3s+)A0etzs6!rLd|@@NgoCYLesHEmd|e9({q7+Q z(o`!nU@^JyNy&%3mhgS*@iO<4DWN6TkQNFYWoD>9OI%2fx$h<+9*U9j@dm>)Ed*bj z3s%rQV!1JJIbY+j;kJ=z_@ns~{cXkl9O`5Whi&K;BGSkAXo5=$uV{aiL10qa+z{mf-1GY`*tqdY z(lG!&1~9<*{P3?nizAPM&S*VjHe?@OE9uguM4zhP!KN_TO4Ws_vh{E;_XO_d)6+Rn zK4_c@@1*7xfE`6F-(UIE1EeG7h9l(`bqMSRA328~{`Yj{H@LON_IwYpBoi{W$W*R}ppaG~G$I*Vk56k#opVRk1IMn;@Fh!8pt{_fIrzOi&0T}z&=QRl?U*BIb zE4B_|i@2O7vYobIV+R+u=Atkps|vnh#z_v`w9==c+c>><1=#(~;(E3i({w8dLHwc* zgy7S~M(ngP17SR&Sl(8*F~{wo06e?|qq5Sl8v>fxHz|UbIoLU;;p8 zJ@Mm(?kxzM482;M-nRb$!`(d8ZeW%I9%de&BaKWJ-X1c~dwug7ZO#;LRV zp0^x2In(9&Rcp~K&bVwqqlfbcG%;BY*w#d|D74j=p0-5D5aq{0a~Fe}wHBBDe!2&9W-NAX<3z z%t7I!Rzxz|2N#o9du#K+-k}Vww%Hn1v|4r3$Y^o$^t@NX$Ma?V98e@v?|6ed=D*b2 z!Zt^pyAFWgMV{MgRL6-zO{L>f{yq~rW|h~zE?FW~qI~(okJMVwQdDB#A7X{lDD?e< z6IS&!vHvR)Ypdd#yI|AsSuoUt!Wle_}Q z)nVbgAkAGlkPdHzXqtJzOl{MRVxIV5*M$DMFL~E5Qz`CUE5v8&_Nmi8eIz>~*^b+4lbs$!!EXCyDy(YDT3&h4< z6gPm0-w+S1Iecy2UX5cMztK5r2Z<`I=plvmltiC5Ea~pQ z=pws`IDAp>Xn$~isr0TpK9!|x^RS}`U;~^_TPP|+ToW8UP32g+G>g-JG69||9g^}HRX4AD9g{66%y=$-d+1l5J+?LEQUUbS+s zY9Vh)w4=u3I)$|ek`LgkBD;Q=HF}ODD=n5%(g2y2kMR6$fKC>Klla>z<`glms|1Re zo7R8#sA+SZ5?|qtWx<<%RIK0zt54$hSNRW7x<#Zp@WSE`7JxY#3Vc$Kvlgvo2G1`- zN<`*xE_jN{>=i|TuoPO{tP;eHugzXH%odxCawOW~E{*JGVisM{zywz?FngBGs z05oD$)XzUUdDb%$dV1A#7#hbwJJ)u6YqpP?+g{B0MGOzG$_emXp6zQep2C(ZN&Dku z^YTl+ddhFAOM=oGepxxRahU)09Hq-UuViaz zBA0dDqZTzo9i50{nC?pDTbQff*$TTBiiVSe(E>27gzQJMklhc9UneDiqd-T{#SVfN zy?Jv{016^MkX-Wb8GizhnCU?mKyLl>Ur^}+B@8*ru z;~3Gwyga5b$k_^`LBU?o`xMZp45wmaWU8)3+QoW$a^wfS7o#gB zj_5ra#ymyW}NeyFm1Ud5!yGVKF{!_&GG(@ii`)Q=HH z{^mPum^8-dkPECheS#E5E@&k?h!Uzr;yFG@JZKQGNgz}v?7Fz~{5|IsD34Ghi{mGO zgJzM!n)9=iY4ix522tK)X)bnrdY>igEiTjLcO4W&9R4vAdV|?vmubt#qJ58C>PY7R zF8WBiD>jYqN2moXzlwrt>vEq|`IvJ0V;cH1=ya5=^0VItY@8k$J+7wybqFsEd+}MR%{sPX9k1xSzsE60gqZ_m++t; z=;ptp6Hj}gh1>jn`|^(x0!z+0>nJIU*NjmJE=SXiGs#l97!8b@+S*=mBF5{t3Lp!c z+<+p^2Nr^5QFa$XCs;rtRrKxfc-`<@O8N=B{9Bu2E_MEmWV#XAG<3FwKte7~iqOW5 z2B5lla!G7D$3tu7-uLcuU51gs8h%oA!V3{m_2Bcx#@JTkPn$b+IyiXhD|x_?(7VVJ zeave-Kp5dgG^zt7o^1b`sTd6!@tbO`IV{Ra9mFom7dbb8Xoc}6WN3xCh=W{e>Ld5) z+MO><)pE3uX+l!@j@qTNW`U%Gpq#C z$NFY^Q;%8n{UnnxjEIe*66L(D zokn4n89&-1nj~XJfqCalmwWTu<0g$<8%YpN{?(eV?kUuRESKocOh;S9uideD3VfA$#^=5g2h7P+YTI>M zN-IOp>ikwVz1&K2%jBflXY@e)B|L|v8h&~^p$X{&IlNpKnUn}9 zsGqp_wG{#ng>N-@s$SA7eY0gt|Lgq^^9!}u+VJw>@(R01jm$^NJuuWm$Q>pe{>#Z8 zdIdRzk+ojik$us=xfAS`igB_}tLj1tw;= z&trackg6e84rk|S5Y@w4Cuk`+e$NJuh~q~)Vq4)j8$vzC@Q}E_oDIZ=?uVo_Bjx7jz#TYxi z$T{_^wv2hq=9%y`O-Gv{P(5?OseO+L@q35G3oYwX;|FSzKl#lp6-x1$p0h%VP-*E3 zHmfxncHAAuul^xqVlpXc7Air9CRu^(wfP22^gAL)m3w`E zCeg!Slyx|is z;xDd>Z8??= zr5t7wCi)>Ru?3ujTBE34-=6A_J7sVfq*VrQ|3v^^i4`2aZ?PYc&(>)4TRI7EFhx zs9Z_+joAzWuL|ZuAz-Y)a3R5oE7%?&zA$;1*{tHyB0umq^y>%fU`1nx#^2Qz%1) z7T%~_u()HE_Q;n>Kn)oo5xVKNI~`&=xRzg9%GHW{RJ$(GJ>VhWTTG*(sn~IN7!?wa zHq(>d*b}K?A$W$-0Y5k7V=+!NJ0yx&FFW4nN3suex^(Q(-J34=+1aZ>+rD!l9yH#* z&JE$J<3^U}U7S<7WomXE+iTg*?p@4X-A8a0tq_$d^}~5@J$1_)%~|YM_%J^nJ2k)3 z9L$V}(i-8q@7a`)DNrK&=5fsG_@__irH=q1okw!*T11EIIdK#}NHj)=>S5jK0i3oF z%&Fl*MA{;27bWbEpeyeae)%s&$}d0;7yIltbtdP?2uerU&yjRyR4UBEke{0|BReNQWpb)-ZnYVA9b~546xf;fH76Vg^8{zez)g2Q7JhvIVp+*&d^6xrdI3 zkH-n-K%JA|XgMWriBF_tTggrFC3lZgnUy*Fk%0$kT9;!-5LfWs)5wb~`YEuVF`5$~ zz}$hPteRV1Cy92(h-IgwdyRD|(fU+PTDPM%t*05wBe=Mk z;t~PoL*u!Qu8oaDEX&&Syu;e4Ms(<6?!}Xw@aD^V1+$cC*|fBXAqt?PHze21*xi3Y zo?srgh+8^*iGNy4X_lTQAUL*@4Ms3-k|g{ z-JgS%PS@RcU#$n?aG6l7fUa087 z5DKB*7L*G6LuYL~Q8#)_(8CeW9ipa9eRVrMJspT4wesmY%{Up{MTIMNUTa!`^xe9_ zTpE77#=u8^8BYoe2zVTv2Wv2Xz-QOA*KARMng(%|KO z-2`ttJfWQ!#fGi&FpZ(fDQ@gH=W&we+9^r7KyueypIVwVzV|1w`3I|UwBmb^T@ZdK zu0Ucl>j#mM3sjZo5S=QYeE=Ub+qLJ4t+Qx2fR-rCm1+Ve@5fp+DhjOjq$QFMg;*2Q zNISCXqR#J=4pu=o)vj})z{<*D$1bO2Ib>WOY1OUAZA=N#DGR_`V#U^(dk|Um((J3r zt6n!tqf!IQZ(JQWym|G)h#+*s7s1@=R-OKZk@wl$h!66|yGR4NtS97n`FhvNIX+ z(abxC!F#}B;zeLjS>5vwfT1Eb7UEh>Ahk;AqOOSAZWL@;?|n7%W=g#&R}}@b&}|Rq z4!WG!$xTXzW{qewnGAQos+1c7zUCg6eU@Jj__$0p*gd9iqq-?V=G{tL>)4t_2xKSa zU!1co*Z3af3!`x@VC1VWhguNS$44%$+)FtUwJLe&MZP&k7k2tHHk%d-GD~voE+r~e zPcDd>0hpT3Iss?m-5GkAQfnnm$Ujc^9!aZ?otb$$<OC!EOi#IoflnqG$7WH;{l&E( z%c3UH$d5Wm>;HYH%}SkbgA1HkI{c{X~Lr4&S8d! zj{lo25YGHjIFl{@vi9>_>($`LT_wi-$9f6t-Zl=wK>|TepZ>C0DiLl+zr(4HleUg=ml5b5_)|*~CK>4#%Z?w6ofg z9LSu6H$j?iPrI~k|QFXe2 z{?&#J2or#D(s*=xv(S5%kPA@PMOeqKVv%z$8W5!<`k~g<NF1u%*JEJ)@Zpw6cH?v@u?S%b8GBc=Y#-Uv|HRj6gnry0?v;vjB&aMF|3 z1+I$~TcEEcIxt$Syixy(-h~gNP&h?C!}C{X-13|n%Qa9QW=?j>*(v1>pRvlq+^fn3 z_AFAci{~CEn$T=~M%*C5NL5?QYd{2>ROQOR_|XI)8^#9arOps}Ad=HXd*w0pAOzG{ zpHu*{v_l+xB_i-rXWrkoo}>WF48pvsI$@ovjOYgpr~dsap%d$q>z=iE)G|>nOoD8@ zSEi9iv)H;HzJ0Z9k^25Y*MkWZ)|FbJy;U$6tipq3IQmFwa9 zw*+6zr}`r{rQ&~yLt9b-mYgwIEVkFiV8pAQM2J!+%HO(2^KI!;M4FJfG7{}L?k+6B zQa6o|;&j?HyhVF-8V#FwalZSQX4F_{4)%U3GepNgt`Pm`tifTHFiNy>Jj*LgUTsy$ zFmBnu`k7CP{?_h;rpj$-FnIHcrqg^LKdC3VP;fw4zcg&r;`<4J5k#LxK#U^X65I9POF~?Q zk~&v>8C~Z5B^EX^lA7}hd_r`;i2Hcn+%s`a1F;@Yo0SY$t+*jE>)QeGOr*VNB{`i= zTnH1y69k2|E)kg81SLb0BmwTC^FvV=l^jN+oMJGniU}1oLoYFdmZ+mgtcWChPVL>C{DnYrfs8mOU^M09B>{iaTOY$xn(JUXMI15`&aU$CL ziAdevY5G2XG7g_ylk(RW_m7|S!+nFE47{e5u9*@ia@`wPe`#TP^6*M8PJ(E@GLz@L zl|+B0)D#p-I@K!4Q>F-6F)Kx>EuI~=Kr}Rv=-#r}h`C+BXU@rIaq}nC5-i(XxnHjs zZmpBXuHDP3?v1?iiz9-gIF`1`Q$}5NdoECfXQkQgrZt9wHx8KbCrX;&g>=mQW*s&Q zM)nNmkc(zjpfTw|+)}W;@+>FVZK=HrDUMz?@PmB|QGzx8VZ&U z>=br$$>PjcuEKGd-pOKdG~p@-H6zJm`Ng-O$mQOb?9xZ_xw1=+ja(@!Ny^%h5@=hq zs^3)kFZK8(m5S;V)l>IuVTp{-CeJQ>Qsg_*Hy>t%mLIpgdW4+J`E?=WTy?RtD;Ls5 z%kaJ<0&ufzk2}jwQtPz-^o)3<@*~%)(Klzju zyO?zKBphCK&0w6&fsK2o30cDH(~VfM&H$l>U=1$0=1ACHR!51*Fag&D9Y)Kh00N}^ zbC|Od&XsZ(vIRt0ov031Q`}6C4tr|5k#rF){qB^S(;T;tN$W32N98fw{PapsOdjj6 z;-^qW=*IN6q(~t>Y?27ZU&jcg{Jq!P7DlPUzx;q+W$wA}X?@sui@?;~F~>W0%E^;X zoh-E)ee4_7nJpDQyZ`h&1{L~_Xd(PP43502z%`y(kva%T2rmH|B*p7PLWRm(BG8aI zVwCV1#$V@!olpZNj3|Ztv zt;0Pd0ER@%_KOl;&Ep$qk|_Pgo0EfZtrsq!<>Q?n?z*RBj`FgXgCztg=2K#L4PJZz z!b^GEpVaGzd!Yp7rjNvK-?mA~){ctN%Wj*h8h_m&i4M`A{9^f0 z$Uuh!gr=zdKN@by(x9VIMRsIW_u$qvcrUhFufv{LmgR8sPj!r7?wNI{K5H#AuV{3_ z&x89Fj=+Ok>cjwq|5#zVj1o!b|0b_;Ts{~Qh7D9a=|*|KmaEQiPp@FQ@$bv{R%+n_ zm(YH)~ zKa+Ws1kfe~?$}z1&*!7+wWdQ?&r^8aFWHOOjZgDgh^!$DqCbmcS!*AM_aSu?;Rc`q zctGlX{5vo7D;-7)Ok4st=JAFr#&CYatB{EeBKNcmV5SH9>9!ID)o)CqM-$e6eh0|d z_ernYfQw!unmjxzgwlX1TrNc_obbL!yyo%b@K{6%f~G7AN&aOOEbKm@SvOr$q`}jA zo!(q(;HR6|8;kar73nfi=tvc$YOyR2P3krNVa*9q0WVk_mxsaZKyJC>q3XLO-$|=- zSt>zkM%ifEaK>i*Z*y^0X+geh34zwrX9=IB8!cHex>lUTf7QHVvvkri5Dd=9ijl%DdjF>$;4g|L9ujjpS|> zD6pLz=bed|7M+ouSyE057~1Ik{7Nc2y{uks>NJfwI}Z3<~#KE^~JAR#46RQAuYtGzI-PeXoHs3F{zeca7yA5 zRY$~pEenY7?HU4hu)FN9GcIKjC{wD?xUCo1nl(u>RL#cLtp0P(61NKiQsM>=+bhPQ zUnld{#}iU@bTP|v*Ak%#?O9m~>SHi8T zVi}h7D~&Bi<_ThINu{yq81~^H3^^Drf{rFvW+`Y{N~u#bb?UN zrQM)X%RyoPGC}=^27%DPFf=UbAuQ4<3})NYD+Vo(T2VBp+7dxLw^!|@zZ4zGs5)*{ z6#ilBoe_d=>hw7@KeZK=(;o}>s#H%|GEAB)g+qr1_JyVU4Wk#Pxi*)K2H$uqY_&M_JdQVaCd`P1!1k*23?BhceM_24HSRCVKb z7WuY$4lB@4_vZ7uksv>x=n z)Pqn5X@qS&C{U2&W4ZyV>$IC9T)~oTMmD-Ji)?(z=Hpv&ym4z<17OvC@`FG{emAC;S=MuLAVB0cy^IZaZ{-x^mxEq% z?{c{z$24SbUQU2^D;m%g_N*7HsT%&?L8B_drz&>V%?rOatUx6+eYK!!7-LGDbpW;J z$RRJNc6=_LkKZ5Ur%PpCD|0UQTT-=tdhDkG_SI$xa4f;e+_ur=DK`uv*xjp@S7(L0 z8#kuZBj&h8w~qaVd}AV&ey!(MNzC}dQ-J=Gk*jTMJ>#i6I~rf|8-D`bda%hckFu0wY89kg?Q%0YMF=yc@ySF z+N^|QO4Y89-q38&%S5kR&5(LjEGp6WUKnWX#@40TD!k=!j%4C68Efn>J(NzdY+FQ6 zZ;gQIO>|0SfeK6;;y$puD{6kXeY=c`bRTwYUg);p3@ObI3b&iKQ)+D%`-kq^R8o$m z)_0%9(oyXa0cvB4p;~eu+_6hGB*2rEBYx<1ive3ASE8}oT#3!RADvw?)QZA*aF|O_Uq6<`1WM$vmW&C8DKx7DP;zxP$ALnxS)tFS zjg?mV^$%ri^Sr~j5j+?Ar4amnm*0TeZBlPRUCY8fWY z7V=}kUevd^J$!s49#3t@J3NlYu7q!&^7}rXR;B~QZ|)2l3+H-w>I{p(#gQYtv~u+m z7<*xGrF7^Y6dy;bQ{wTuKHKf1vzk{$bL#LP<4cfWl0rkLC{=U_PQ<4?0OpG)5_%ty z{bCRq`1D~79xG6S(pbvTNDjI=o%v&KVrx-=yS3*mCx^K0$5dh80ZP78kDmBX?I53at5A5gq*?^agLq($pKG}D`Z#9RUjE`KuF=C|`(nnoq zHeKRVC+4HC+rzygl&d!sN2K<^K=E5~y1c9p%jG&O#ekYy+NuzE8E0_)uM>wlYNzPu z3bI={M2jPp9yA^fvTl#=NKJC(Sv!1e$0}GDdy9AT4Dgw-KNQIW-%L#rmO{&Efs=Ul z2tx~`-Q@H9(j|7gacp00iCLp&lr?*dk?=oSKj63(eA<|U z5;>QfL6FV)sqK5)7&4mtgOOQB04+nT8hr{r)oU7oCKE?4E)IlIY|%D@&?-OFlL8}m zBaE$)uNE8)En4X0*LjeZd=;LFr=e=CaQ@|iZ#?kg@Xy01OD4vvEG@9#*$B`UsQ%5` zX_^SHRqRoaH6I+TJ?5v2IIP2v!d$6$fcl`ir6H7XCLD^h8yG<8(S|c4b#HaAt1}1O zdF~TW-oKWfy>T+H<9%-?bq9voP9{t9ZZ-UzSc8bCukyE?l-VU~Fc|CzFWF4L)Ox+&v6dM{X4|Kg$RQ)^TeIGE+_0N4 zmOp@}4@tIsAS5zQyKekpXmt-FvMc*&jM=?DS}TH+9Dp*~<46*r8$d^%NTv$7dBhat zD2MS+i2jzB$4ehN3CsI&Bcx`v5%&Dzn)r>~MmVt=g59)@48j0jy5)7DH8 zk@Q3#J4J#{O%af{z-vhyD|%SAuv3kkdXun~2QmDMu{4Uq>~tD>r3bByO$G=YyWPwm zBIbw~JD{9#pBm6S0kS3o9ybrh7ui^N7rv+qo)ZX*B5jV2`MN>IeCcQqeGXq;$=?$m zl_|p6N{1w1HhTUCr#A!Kg)K`j;*Gh4h~zgy5QLMB zyX#guo$QLFOgx5;vnK&n-URRO%SM67jeGkjD3N&T?EMv94vWFPWeRk($`8n}z(K`n4e%B@rh8iVOt0SeSHZ61O(jp52NxdJtEc|^S zwh{5^~m8OthOb)gOM> zXnr7_qy}wD$~}>=6i4Xi^U0kN6Md*L`Q)^03?^8>S@t>xXi}d|{5@5yW4Q!z^(y0m zUy^NZ0OhdJH$U`!+w$Xv=gf5`$kgp!!(yVV?Wyw0B8iio8{U*Mw6=&Qt*ds~WZt0F zGYvuFHWVXOu*NTzf>xYk)*b2?BvRdUbXaq^>R@ zY6)#wU~~V28T+3RR)18TfP5a6m&#lQD#NQbpjjQ-CC6DbD}+O{Wk|#^LTA5lhR6o z=xG76i5oZ8i3Drt47HOaDbS2L_mYr)>WV@m=>S$?X9B*eC0Lv!Ut*X>>)(uUz8>Hj79x*e+G)u03h`<*R2@enKu< zvo=26+=+GNbc|v~Kz2Y-8bhW|!tI`Fx)Z1MbVtm67iAf^A#)I^{ z5GzQf@2SAvR1WqsP7hz6_v`~XRUcn!Q_5B33z^z;0W3# zu|J^=JXyHJtfo)9Rqf#eitxg5wBVQuMU#2dCD#a04}axQ5~ze{_(sQR3yysJH%%mJ zU^F1RJ2yUV0+A}&`x?Qw>YL5K(eh%BrPkFLHN!D21%3Ce71v2tG8rr`_oEGoVn9qb zEMEHi?4`@bPZCiqA-^L@UCqy1oz#u2RAg8$62EgQ?zGca7q;C7GXbCsv_8$*mu1h7&Od4Y5bN zND<-@JDA*yIZV7mROCF54mekQ)Ra<1g2;s@*O^WWxg=z}k$|q|vW|(^f~ghk_K9x| zo)W0y8sa>EV)6Tafn{Ajxkszfhm;&HQ(oVP(=zGHma+ zs{32A#>^oJ8WqOkC7j!k{rKLs%pi*^uMXkjH^*wP14XCfO3evs+}sNo(2$0iTw4FI z#a*pbu@sAL>Ch^`9xh(p&H0^MBNu5~6RYI1?3rzy`6Z7u$lq=d- zsFc>Fglj_x(1RPirRsfRHg3_?<@FLVXdp#q=Gte5UJrN3z5(`tpyZ#gJ3=VYU&9P+ zFX!q$Fa(%%S4YBl_fk_yJ4U`y##mfG!np5MEOB2Wz|gAHx-81hke#vioso5B2YZvt zGM+7D-i7M*0{xYeWJ!)sc_@E@N*Y78A;sun&Vs5666zHn>_?hNFZ_KeAmM9FsR~u9 zh%1ocWGS#{Yq?bLYcR8b{%A8TLKJ^12YncpEGNd<`dsAZ=+}>sa6BB@9T#9Mk49%~ z9oBi;LkUeRqJE!2KF5Ox!r+puF{!|p;r-26;ZSVX69(@PX>N7Z1v1Nw>fgIW^58!u z9#q)8^P`MI?zH{pL7S`O6QvhU6#1p=9KTRa zI39V@L_yr3`{~54wzkp8iZC2@WL=NXCNKojd zhkB*4lNU!wTt(h#M#%x)t2)b%A+hkvU*-<>X4G0P;@}c#4cL z2PmSx1$5g1-b4=iS%PCB+^bcec~`Q@A0HH3X|ap3;|E~P^w=elb{~e<2$DieVWwZo z(Yu_}JdiR}1i)j9I{Y++K9J63F7av0lLz&X1pYMX}TjcM#T? zu36|0uw&Qt<8h)~Lx`DzY(6K{Nqxmbl82-7H%-6nFENKDd_4L5UXmqanu{cieXroL ztDa*D4r-R(y!h1C?*@Zo-GTN`3sZC~1J%-=y7Nl1(6%?-_W6~?7u-9&h5FylE@Rmv z9AwMb)a^Q|m%*nT8mg`t7f)arF^+8=8bD!PjhagzZXLoKGNt5qtZon7|WmEbM*GHhPo6D5oy{RrFY%x z2M(NA(-7w|YtLWu)cC)<-fl$9s7o>>;<8@%*M<^eI1|@c?{3Sj$tX{ zD@b82(@o^cc*hA6baIpZg4NH-PRkT{4)&zl?V6{78(riI)?iq&S1@b<4d7sW5LiS; zxUQD*Y31=B%IbgBC{c~wTNOQmhESHr-%)TeJ2~{=BW)IWnO-i+BHZ&Jn31Y8$&G@> z1LYU(S?i+)Fv+%niKRZ}rYtt^N64EaNCw@k9sNfOSs(*E-r19_wa=_)MN##)YFI01 z*^B2>U4P#O%v<9%H_g+gD|=Tq5PA=lgk7hpgaldzam!9gcWu*#PG>I0*J^hLI z`Hd-^sdS&>Vq>F&HG3;SGG|#(#9B%HoABG(!FKNNpDLonJ6wQHFE8m>dSbr>|G7TQ zb)5Oo$ZtUS&3gxR(*)pnlhmiJ&lrKUQrj$_AG8zXPhDE{yM4 zvMFtES|~2_iC@e-UtorRB*2Tp2e^UUL{=V`nEuJgaExvc=i2)Cp?!NX6B1J+cE5aFJM~x z7Tvhjb^^n*Mkqb+WBmIjJg9QW^k%J>GsVx(&0=?aUKE3x+k|J3oDy}tk)USy?_mgrn%}MD5Ul5mRNaZa>Ymh z{S%^x6Sy==ZN+}!I*;#uOGtIi#jYoZd~O*s$>#bob?z)DPv5)%G%g1_^ zp(WP z+39wK7sJ5KV~%sJ_jcg2Ff^DK;&`kwUh`FVt+9L{z4!8u;M?EyyI;g zXe_yGmiy+~uq`xLIaNSG`VTiJdEKh-W{pSXa=c*He_(oDc3pI#$Gd?HniZR!w+Q+1 zF=bh!>>UT>j)+Eqk2KV5MlU?{5^a(TXGb z*5GtuPh%36yoogoW!F|&=93R&PxGRpwJ>q`-gj1#SB17*xPjmGXV{{i9twT~d`na~ zqhRvW+)fMgKIyJr5d_)0%(=?_9M2>d*cQ#^wrDoP_+{`w)7EJ9tSlzr&*A`i-MnJ7 zY5ZI|@Gp3d!|r09R<>>FCW?(;9BKeDXsCKx{^2(M&*$reE6lwzOT^Am!obdb?|Kpq zoP5ErZh=5ZpL?vfJZ!+7MPTFnBdWN^ENE{zp9uWo)FaZ0o?fa~iXf?k7S zJVu+RPqidfD(pYGK;;k%$70V3_*aL|PLYxZAU|rg*tuzbF_EZ2n7!L9V}H$nbRvpB z8yW)-39d_8&aZc4?-yUNUL0}^!Nr(|0~q3hS6@6%KX6R9z$>4%Xq}0F2rUX0-r6Q_ zbUSosb@GIo2tVJK+mNWlGh)UQ*4;6tN>X82Yj&sQ$8$gKOB(769Q{1WmlL!mVJ<@P z$+a>>24I7|6FOQuT0{+fJ{~uHbK+S4_4krCt0p~IU3PUN57K3KVr@JtKUVKSc2pV7Ln;}oZUmmidMaCah&n$Z(=!2gb)V1ZoWy|$yUzcQd>5 z59AtW&LHLF0cQfNx0V&HXKN95ve`P?5Mwu@PFSG`maftsRh44*Zoh5(iUux@BK2H_ z`Ys-{6@rhndV#YA0^jlt54X9}fK{iGj(y)XPBWx+N(3_q;i=h!4hw={OY0TJ{ab+x zU|K{?NK=c`>vq?;Zu>o~wyE43U%Roib+WEGPUc85Emy=(g{eUGHVP&up1lOrR8Kn$ zk)w7$?PHUj13`FDi{}!(6^)%{eROI_ESd`}ZY((V3yeh*Ah|30K;I3f5QtGzLz+;` zR9jxMOKhNKu*_D_#b-l`onj&Dkk{jm!PS{w&(yR@4Har8P{hpZa@yo)Mg zA_3ZCzR*s4JLH#@=A2z8s)h&j*=6w5-WtvbzZ?C_?fe8p=otB4cPJ{=%6ssHyT-Aq z>s*?80cgc~!kAj>sR-AxhFsLeXX0c*>ylkc zhl1YWrbFF_#RiNR1booM-BPu`|M`7_|fm69-gY^c2(jlg>OKz zt1BIFe0;=zr$dLmK4pit=WDwg#dTO7(!TUKLd=3#Rb?&?f66m?_yoX69-xCLtBBix zTKJ&9ht`u>N;f7)Qz(Ggvy`Tmz2al+2}&3FqB;=4msW9!^SiH-dw29Qysl9QYuU{S z9ToVdPTqzv?k=@Qv>Bu>czSf@5!r8$wVdNoeSc2I?1vT5#szxz!g!rxbdb4p-O0cI zNQ@pVGzuM~EFR0x@Z;D`s%akn0GfA+0Ehp_$|s{;PjbP=oN`m(Fxeo1p(! zol^V$N&GKeD%;0}JSFQc#qOCu*^Id(olGW|f4rbYE=&^O)oKD=OyV32a{bbUe-^=% zCA;%?o@~C1tN~dhVk>I4q?leH_WFHYS%M=Xb<=d+a7NMtfFUi+?CaxUaBad0(P+o? z5jvt5#g~8jgXnf)@yzpd5?H@%?ZN14$w-!VY;4y@zuBx*s8OGu`rsFXPCtTJYjH_OvKZn)Rwmnkz_LaKI8%) zq1%Z}+*I+2`V}{Uy54q1gv6aY_JcW?sai5D_uH>=#p@8FmOUubkm6rl8^+fls|iaZ z%>26R#EC86Zr53U!AHk8Y2FO zlm1MfJoRBo33}Ob0y8XTAs-QeE)VDEqw_a<;+g8Ofro#xE!sH!+I{B&2cF8I5bi9)LU^NMQ}Jp9k@S zE~AmD`w{+cOf$C)!)4aM*4SgmNq3-Os~dWOJ)yizd!EQxbUTFh+CC7!Be#vRr4e>M|iV?l^BYr(2~p%+eP z8YPge5;e^62(AGA637=_bwjnql?*AIxtp71I}98@N<<}65>9$|pTr-oME3ThT7no@ zIlIba0G=Io089Cy&`*w|clahAdiUjdg|=@_u_y|a8x%~i_G3C&|F1%L@=SE~hW9U# zd8O4luSatreoW%91wuseS8K*k6( zv;hOJEhjDgQ?y^GM;4v?1}T&&2ux#?Zu~}ipva4ZnVYElHOOSB`}fx((OD0aac3^M zRs?Kc@9qxX2kcpa;Wu$7_&>BZdc4BaSw{U7L$qIiG><<^3x18%bHeMl5G-oce&S{J zTkoE$jzWhD0y2VcyaRc~2R)FUGteO;UL(C_hxOUZ9Gx%s&yW;m3JR!aIIL81bIZ>D z+S&3$=L;Tcq-wlOa3-t~7nd*CF`=-W6}=#~uMUDqjOqUXl!GeU*j-rb$n8VDLDqul6mc7k)!}29RpVE!mpYz6+uT@r>-lYJtvL zRf&N8++U_2hJSR<8Wy7ss?vUrelrIDY;LG;KCw0GtrbJ(yOtT`V~D*4=|LK#Kn{nO zseWWpU-XUPHgD$NI*O5klbHlN&uxPeYxt^zvP=q(nv&UEY$w45qHgO9N`pG<%e%|JgdC(Uy@G$(fabtvEOF{!*bCJZHvnoj$Wk+5t=cr+vpv7OKW68zPb$wCx@s5VQ%R#!?0M3hMV#@ z(o)R}KmdyK=;$&6X+;~=&z_o+XFIYC;dr31_!xb}w-* zrD&NfRri>kFAFklg!5C-v@Hf6G54)b?HB0MOx^Oiw_5j<6ruBh?z@T21 zlRJnPI5zDY{WMkQFscl203G3*1m6yPnThAuYPz4?n>EwrdR#N z+58(<&}I*sKZm{DkMoj6k>7;E#6`ig9nA}~pZ==;{}({zGSynUKb+Pha&*j&6Swjj z-|u%Hoczm^>1E?OWAQXIG2>ws6fEU&PYt>-tjOAi7vXG3Z@luR*H|)90cT8;kp?0N z(h;0(#-d9B@_zx0JJ-O*%j}qQJ-iAgvvSq&5`iGLwKAVB z!xgt54QEaXc5sAbiUT%Z*jv70_R3T`!51-c2IFBPa1@+od^es4tXf%4vGv~H!X17R zu&1i3G7+t7e{|%Y_fBz0RT4gtbeq_C3;c`^{}(gK!fM@k_UC}5_uB81m^a~`^8P^7 zk+x1ex=6hoRAu<~d}|_Z7C>GkKZz}N#(HJ&`Cuz0Pw{DI#Dw!qV%tdz=}!|P9z`Pp9N2GUR9#VBY`8*?f>3quw+ z1|d6sVOk2;P9V&jZ84z!F=ztnBC(d1rPsX$6G;d2Z(u2nt}ps2b=j<~IN1vmt6SbwwG^DpeN^AfR4K z(SLbpkhVkQ?S`Ggq(BuW!hn~EYqsgUwGywO#|VDWe3;R=wXg(|P;hn4v8p#}?@Ehg zGCqymXaHnRFbZj zQ4&P%FiZayzIvv5UmG65FGMan$P{udQ)KdG7g8-%je21Nzj#q%`u2UP;UMIskkA{% zbSXo?pfH-ba54pZ2rgy|_}d%C^42KR&Dzr5g||Mn=$*2eM=KG)E=H7$Ru*%2OkBGG zFU87G5}f0xb2X`*VP3eT0wXzBlvS0*@-@#Vg}6Yg7X`Nm2$w)}uk~K(-{>(3* zZuy}#z*v(W)9$|Eh}911J!j#AkVe7cTfMW_E)0 z$vf&ov%^kg=6q>Z@EQ|PWqZb=N?>_CIR4OT?8jx^J}TU|k$5!#99^*)-e1@MHs8JQt zl8wf4*u-ZpHq%?>4N)I)Hq_N=QkggB&_x}GH}UJ>7i*oY~> z_RE);FMW1$*-mp|VZ5jHG}=5VAXDWu%&AG5%gk+L*VRKN5flD*ItAeP@c$O0Mkg(^ zSeMz*V8kF@l0EHEFYPg}MRT)3*N5C7v^j&~9t1$HU@ofj>c=z)>cNK<@^hBnfi(<4 zR1pjvJDf`n*l3lWj!(1!oc4ND>{>>J@|=B!)kM4AkB_j?dl`G|AY3I?gSL?)io(dy zF+^Y9!Y48{1(xW?CVbViVfv2c&Yn4J2eZ_a?YUWAl16|=qDL!ilqEIRjmuTUcA&25{@eH1=5RrS9 zH8I|IicXrL>*_plxlJ6$9nBtAG3jK^Y$60)D0~?T7xV0nguMZXCVeMkCAqnf#Gfhi zQL+{|L)^VLj9bN`IHLkMJgFvnt8_!=v0eVuSrRnZ3xAny9z98*U}PNr`|S%r&pT5x z702?$odEB67B=3HGA-)YCcxAf;#u%Fk?Q-HT-K#MCvP@19vGtq`Qu@kYkm7k0^U^+ zc|!V#%Y)-9Q>U}AHEAr9E!&cMNlDBYX8~$R`LTEyW(R9}Kvjn~`!|+2P6RA70OYs% zqyf=txWD`~ZVBkiu-#i8#~v?Wv#{$4LNd}S&kAkt^f(Q*rRMDTMATk7ASEQ9rQXlX z_F5zvjAB}LavF(~{~MEAR#KtWX!RuBS1h5+M6ARF=}fd}Ja>(EVYudyc0k=1U&gw^ zw^-;QE@1$rMzj=$-{JX($XarB*t@&GH-J*KC~=xXSx8lpU``2L0`ciZiYjk&R#cE$2d zAq3k>1){#-NenB(M0gl=BZsB%ZVPAFAYd(}Yle=SZ(kZNIkp;f)4pZUL!9tg}Dzq!dP`DcK14 zui*heEIH^+*3*IDM~*;QzBW&exM}ga+Ll0&YbjJ2BpmRB-0j#FCUt3_T+LqVYR3cx z$noR0NC$akgnG>KJN8eCT|f|(dJJ8V`D3OxmK5C5sAqdG;Wn@)hjA0hP{-sOb1B_w z8`IIS^yh!;r$1D;P>J}1?p^o%#ih~@>!+JaH=7jG#}tRrOw*Dc5i22z~{_^V=2_twy+ZFUzCkvZ{41YS!vIk z%##=G3ZDSnm?Aktab(*GaI)S7gJyEFOr=JpMAN`OQHsG#uoMY?9EYzP3o(WQwprva z`*|&RAoUGJ50V}7?CQIa2XCuxXw^&sTFRGZywlef<8@g{G!4=!}hJ9Zkoy?3SO{fHrarSMf;U7DOoo`qkrLZ%L5LDQqicAB?jg-!@ zgKvsEe?|$Py+m@<82M<266iv+RaFj)8?|VK8k-HZCUhA30zpEd-{%aV*_ssqjRz*t z%*<6j(Cn$V-Wg6Hg~P<;fZo_W@dBR8lA0MMKCBE7CdwZk>)E^`cL#YpKqLfRUwhxV z`=w$B)`8T1t?TgUYZ~JqZLPq*vd3yk%&hd`{JI~uw^kH*_u9%0R7kr=2D=RoX$l*eH_bv z|A+)!H3azhLSw};PAGwnsjg*jfB}&^A^3$V` zO)EkuYcUTijW$yG7}^tY$s?G}I7_>#UNACGzBbx7{HJhoD%U+I@&?>ssOoh$muIUI z9)8bTPlly+^Jw%qZa8Ze->ucFwaDydT~CQ`kviI;8QkgS+iI94@TM-;m=Ca<(--Uji6b(t+;i%t{u){Pm!K=-i)vK{beDc^;9IJMHYiMRf2ezvS7 zVWzpkp}ZEBJ1*#e#XU5Uo^*6!;e}^P_JUbbp$?h?qS6KVe;Z+^x48+CrHfH!63A83 z%atJCdg({5&D&Z;%^slYgtB(s1;i)9BMO{-Yv(&TBr8Hbs2G!H8aUq*YQJZY6}63Q zw%v_|qw(S$B+PuZZtVBzK{*tT%j_Tbgm9csN(GNNzfy{zq&33+X1P)3Ie4Tk0_Vak8rB4)G(b~yPy!{ez zI#Kg$7~&^9acA$=Og;QQM&}M!6C5WvuLM0nG-gLk_>w!zFmDf=kL9v%@Kqr8J$mIB zTxr}?--2u9bs#E+%yNpw4ZVGsMbSNeft=MNJ)`&_$Rz;$2rBC7||{yx>AVxGh= zx?fxK0GMg6Yu41BV;s?f?SCewJO+ORG!MrGFld=yx=JM9u~X^8F<2$Be8^<;b`#By zl$}os(Z=sAiPZZZCxj&yfOD}Wu=u===|$C+ z*%z3w>>eH?p=jF)j?gx}I9vJ{3<`m?ca(A;2di(R6Ky7`WW4`j&V0MTnOs9BWyAj1 z#lIK4LdO~si!H@tmcQH^A6s<=p)v68PjAkqB?l&{r@ME^5C^qCR%4>?<(;t2ZWf+!iexCP-z^|@N9D?fC+ zcGhE0>a7@XB+mnLELMx<>;xn^UIzk}ZbPD6j~-4iHxt|(+G6Wc_jZ(z)fqJg^jE&H*OlIuVYT!a;wtvVLI|Ws-}J>3cRkD z``y}MS{axMiE*GhNxS!CKAHyyJaJBp+0vNiKx>He&QiD(;Ugba zu^A~w5o`a^)n%AK3oqZMlk;@J9AKdUnWn@KUEDTQs;%lXhCiNzjmqfp)60&8J!$5( zGs4OIQRMd76PC7n_gYF1P>>gPAhIoTHi(XQEXZa*8^QJc98ol=2G){r-`B-S|3g(4 z8KX)BYPlb>Kf8Zs_{Ht~125FSf5w|TI2ZrsX8y%J`UCgu_{ClFhimN%ckmzTV8C#m z|KlhiT#R|k3QkjMUZHkqST!Vy+vTdSv(CExm^g4aA+aN9lSWyts232tdS6RXppQGJ zHK?C(ts%6OT*-jY@-XbrR6}(VGmACS_tWi_hWGn0`)VmbZHD0P(VRN2K7Z#M*39Jc zxgfN|+6g$POtPYUG-$lskpVGD>`D{R_^rCt+NF?>eh9OMfj8u`*t8LozbVuy5Z~5M zq)EVKrgawvtONzJR6Cuf1<_@Sq<*>~9Lq8~4eMzxgTU_i>Qz%o+IA1uj%zpS81Zyr z7~s-7Lg%4|Aw_GM(#hoTejKjAGr{@y7c?rWBAkWPk4W(`E@s93ND;G)+~A!G_w8SK zoVHegcZ2`KSL2xhK!MZfW(=)oByt~8(D2oWJYD9rmr*kAbDh;C5uCnw=>8F0F2t}1 z9>Q4v3QCDJ?7Z#k>?O4+=RpCk3(-m>G(Dx6Q4rPvBHlksO479~fvs@a zc*KIQ;4Jdb{Ca-h1gV82Go|%S!KZjB>8mw8*W9}VZJfeUv(!_f5X_X&Bhx=Ulc=9E zR&h&-_m5&p-DO1YTAO$KpeT=0EjXU@Cjg&ai`+^tTm)w1u)>Ml?*cY>8x8$XF1tHw&V$D zaQEn2A_kxTi9u1KuS0Fdg_8Id2R1Nhs@vl9SiJG{kqIPpot7#-b(ee=KY-b+Cf5{6 zw>jnNz}e%2sUkl9hFLK>tCt0A5R?F56FOXd3<;OX+qSM*HV7;a_qsXn>>WSZI{1^r z+q2HiQ{OPy;kqDI@tb?^7vC{hAvSs_AUM8mBy#)_qq$L9MlIhH1lj{W@pA!|EEeXO zQv)X%^I)Z*m)oN^kXH;6*3g*FKvwodSO(h-ph~4J@~NEt!l_}I6>1}erZ40L;?;oQ z?uFeR39#CVoZMWIWTB0+oFFkfe0&K$JYu#bGND5bQVMz7rNii{y{3Y(ojqB;XUvhd}28 zOa5@zNb;7qOAUI5&@kYHoo~)-V$GkUvK{Ilk+pT`DDP0YBx!AvuKR%oMZZrrF|@T~ z)jQ-9lyFuA-g9iREDV)j6To!jkTU;ctzDDl@LKKFZXk6_hj;&kAJhuBdn(p?&o8LV z?I#SCdtH&&v7Z}P&Ft1`N&+L%n?%AeDUNA5ldsnHV?w*iV~|>qknn z*;xjxQg&Rb1|@ISs2#+9MK3tz7K(#=j34Q7&2WQ1c_Yw>&3tv1%pWN<{r6Q^TQHQc zoVJI5O3as7eo`g8wMlzCs3I__CGrWTdCwh2BR2CiwbehxO*1t4B<-v*(&-V zT<}klgaJCdZnP@P`}SA-IU%@w)K!@^_weSKZ8 z8ba{n;7Xq{&+ohcaCPT}B`In~Mu1Guf#yypXA;+Z8Y(F%~m=nrUQ{JJhXC2EBJ)VRTX^m6y|4mJ~>2>h(S6 z(nYtP{+qttbtlc|uIC!eVSuhUbvFm` z5U8!zy*#br`6O2(^QixH9UP%2fFw$=el)LgzFp`3N&A3~4x539W8G@d;TL;TdvUOq z$PbW-gFOo+s>(3_ZnYsN;$d(=>7VJ`^p@{8^c%d|h}Va$hZ?r@3@P}9rZuT(vImT& z+^e-}fnd9;6HnAM+X^tE${hXFT6M{ID*@%EzN}g%TwAQWGG24nXu#xb+eYxRE&JYM zW5gR`@~&zEM^>9If&HAeH%tsyS*Ce?g&0o&Xl`F3p{lIHK#Kgc3+xTNPEz0D2eyf^ zsA1s>k6)*Q#RJS9XSDZ@7;uwxpAe%CU!2^*Qz<*;$a@j4%XJ`kcl5gp4Nin>8qx*w7<~z5+Xbg#Sz|X~uyp zm)=|AitcGf_+9ZjlpU6?gg8IBo%3|%F^_c5fncsBoL9wL@HuBxdg6hTJ&-6(#7z(V za)X}q^NR}YKLw6UL_05N{>)D9;E4xq-;{Ft2cNf@*j0vH78;jAFW2Ic41J?(ni~0j z#O5JFu1+CSy>LIq8nNJY_ISLJWb^Db9|9P7(_)9O4gy$~tyRP@>Py^_tWaaoe$DUf zcWDp)DYQno77O(c4LQK#PNRQ$gvMs}20LboJ*!1Q2SZ1OIfb9VX!9ye+EKuRP^}`CRg+yIJ=$9k2%*i{$)x79GdYsi~!wE-j2IttEoGgcpwKp@IxE> z=tU}F=Un-dLEtu{g40K^?yy8)?qGZ2{pyW_nLidmGP1R{NP#3njFZjj9yrlL;V`b4 zVR*0<6rA|PvN-4g;d0={XDRL5wGx9`{!;}$#`_#ty(c9wq@Oso?Pg)nY-gzt} zpT*3M%MLZdEgbhzKMwrx+azL>Fo10lTma^d%^|{75Mz};Wy)tsWqEvouMUy`!}@g^ zlA(8$bLV{#1t;MPkQ6|-8MO*wz$53)W0;^SC&A@+bi9{DLkuTPz|Mkd0o&57WT?sX zF~2GZtk|Fdfq}5dkh5|i*7h-iTJVCnnvFyKV`-7XfnMoRS@#iE3kq#40OSgXh{Q1- zyvVRvr{Tq%i8K}m8T3QgVpmpPp#IBR%1f?J0&93Qvp)`C|X z+qWD=KR)2VO44mQUPniBc|nix?M`ryrqR3*`d#}?|6;U4j%N1T!0_QS#;B8KvaaRx zy&W*=_vIyYQ=0Q#A&P<>#1s_M2mi|ugb`N2cS6&eM-{q3O^G0L1O222ET@w{@h#E0 zD`<1dtubQMKLFNf-+LJMGHNPdf+g~w+`5k53fFaV-36?$d|u1juv_Ixb;vH)et?Pnuhqf8b?9REuXEKLwPS&BLFo(X803ULGp zxs*T}7Ul4hs5Rr@t__CySNWQD|5T=mr~uHO@#RgeaH41d{(!ElT?F(}pqctRIG}-y zp3pJ=iN(xM5#EFdZbZLIJym0AhQArv14Gg`ur{(M!V~)5YaofPzz0q7}_*CFMlz@&mCjZKH*~l0n3GeoA0IZHZ3n#}39&XQY>v%9iA*^2M;+WJ>!EhNy&P>KxDkO?jhImxh%u8HZ zf3|~oG||HR3NYy2X&g$Ss;_gtT6q}Y$IBLFk&_nA24P<4TTj!t#FZmS_lkh-j$&?X zqLM#bUkDuvs_OzoNGy*V*U}lFen&-58fOLX!n**MN_NSAnAdCW&q8tays$9in2x2@ zqhK8m(Sdbn6hn zwQN5LIT8_&f|0%gx}}ieDXrHBPHv_-m>g;$S;igCYaeKZ&ZJ<#t#R3Hgmdno@TvHOeK%-^7&0s=_^zAQwx66B z*iJx!f82rZDK4VHvYP#;%Y+?wbNa7T9ex+H<0!}Csby7xLn3&73JgjKx-|jzBAwWR zAlHUId6KWl{Z*a z-mkWq@fw3ZnJ$8XCRRN3*gK;GTsN@6FM})UdquK*E6ipS313$hlTG(~ZoRl!+0moR zKP{Lf0^h%0oqCO4__kS2Wr!GyD zXv?N;+qP|dX|vL{ZQHhOSK7`>+qP}>=`p(B?!)~H@em{Sj=9#9{pG^mC-Z0j%kqcY zeHHr=Z3L3`Q;;udJa16H%K%K9GS2}Hy~@8ZH@@-2#jg`E>i zW0h!aGwxh$Mm#&e$-GxQ{*V<`)O;GS=DmLnC2a9~UV*;&N~T18bk?3h#D5V0P-tk; zHRD}sstXBMLPezP;c};&p;_uCp$B15hLA%tmTTlpgeJpmJsizZvP@;a zzMFfXiNQN!MGvS0KoN>A#y&WZ2B z2&-llGec>6NGGzC;=n-Gz;Ow*m>|1v-^bA$hEB#Wo4Y@dDd{uygpedXlMvZL6qfPv zRebafD3-qrC-uCKwiT}6-%uP97LQ7!BsX9IS6J;7h*^thDp$urXC5fH=t0S83?6C@ z1S8qtD%0?HaV=b3{=KWRhrd>U(3i-HX(S;Ne6|$pcZ-Vo_AvhC&n!RKI%D-_%ICbG zlYG*^nz5%+yZvyFe{RfxyJX!Dj_m;1SLMkY!0j&$PFHM!K$v*!+FmCMHL*LtC}~Qc z3(})O;%#1rHBPfz2KD52Z-)U6bIS6}`st%AyU-j4KC2l7_>@-~HK%;7Z~2+MQK-}xS{#S`Lro39)+Tv)RGbbP!6 z($e$5Mm)HEiE~#}>)Ba8Q1S=DIj!oOv-AvY=?c~Z^{&T33uuByI>0ngoy_(E$ zrP1B~%|rboSGOr61v~M%bxd7Ve=(BA#p;%&({68e6$3BurqI!88W5LX7MEf?6a4VO zZy0UCEWYXJd8_P2`Ei-srDudo zK{7$&OrK^<_~@@X&Y)&z@npOI4jVk*0X-JGc1wTTVIOExk&twk$*l?A;ffF@#BU)@ zQf`+~`W>UXSP**{F96<&Fw1GG+Svcs@8_xn@7CT%!HcbR;i00 zNg0!z9DdztKmja%slXvPBm_T|e)$)59hwFY?Px;}4orlpM1`~jhA1N^X8!X+QE0it zAGGFDUfHDe>8ZgjhlLi{E|-Mfc?I<#gAntPs_hjy&fqmLFQ|A2WBie zLA#`+1bwp#kQ>w@k)8Sb(d$qWVC{3)1TS4fM~|=Nb%h=p3$p6mNB%(=c)Yi}hBlF9 z$RI~JxpDMtD3)`gE%G0WV-tE9uFLia1ci%8&Aa7i2FN%74}?rFSgkSXSPBsdQ-8|WZdIkU>LH-l0AR9e{%hG{6d3ABf$QJnIV!F( z6?d#m!ouo&v!Ko_lEH@?`nEUlh!{HRDB>lmELOEy$OHNIo1>qVyR}j$qV3S%p;p)o zWZjtdiTn@SUg1I)h);YN7a0sO7b2lGt>dNuj*ixiBx|o`ap1)S-$y!OK-E&BbkO*q z_E^d4u~|aHDIbNEdx|CVkDQtd@A8^w6Q>5@lt?>u+WH|KoJVK;_@=J9@m3cWcV)8RI7%}9&-I0Y z;7XZ{*|FE=*~~E~Bd+0KkUdb}JzKi#Sv}(};V&wP&wzUveA`O|TZ?Ex(PMx6>#tCx z;!=@qQ>e&?62ZA4uz^^k zR&+@*H+3QMLrF0=u}Dpf#hb1Ag7&TfNpK5fj9ldP?zjFTbQOCvE}yT7*%fF$W+L!T z^T$$-GWED@%~*sz$V%Y(h0cZF#bCZ-3twps*Y>6@l1^>eF4&I+0<@Ka%l@%o3n~At z**kCs$>3MH1EKn9=XFq6aZD$w_ekV;qI-bp~7@SP+%168tp)?<8UGu#?Ja0Q@jX9Q)j$x@%BXnd}t3N z%S=6z5qd#NV5aL~trF8Kn9U9iD~Myp>fPYPuV1tbgXVdH`y1H`H?ld)`AT0aRqXH$ zrVvFKuh!|dw$c8kHV4t|9PK3JVvfbX%=dH1c``DYOIiIV_@cd-LSB+B#KJH&Xtt(8 zwB+x)dc6A?t{gZERp?l4V21-0d4$Qda(7oyc`?xi9HP;dB!{Ty=vrOevvfbw#q3Dbf=G<}8srgrzSKGJqSEYjupcHYX3G7| z%iv#LX#YD|IOGB!IO)=l+m#xp8z)YIH2I6h|5@XUKn1eq2bG){L$Zrdv^grQGYO4}tRND_ z=0Ab$^^=sSqR5&$`Dln`o+}F9jk9}}jBV((P*R0>G2xFkQ(tu}8hpY^0@T8JYdxLW zjAqQI+QA1vP&``gBNe0UwpSGXE1LUtT0yTo3NCM8%^F?pQc>x|Fg13D=wrgNaVPh%*n-R0+bZNLhg3h9G9 z6~Yv2SC=dRbN{6sJ!6UzI0aYg{0)~pfga4``0M-9FT{^l^GG`?TFwJfhAyCK>wODC zwEJfU*0sPrJ#mn%{+=pzS@c8u zT7)kLugp2f0i2)b7BV7{`y2HpW4sC=u!BXRxTZ=&_n&zVNzD|5QA$(HahH_n02&Jd zBp#v4 zX36BYp!hq}Y`0KiwcUm*vmA56&QN)C1t#SW{@s&=8KNmKGQ6O_GAfb>HsTxE&Gu*mk|B|E$4AWtUS_V4Yhu<6O z{z(j{72k^q@i6LP;5@=o4vXx-I&`hw;5K{Nu#Jh~0;fTSHosM)L$p_~-6pYVL{F|< zXhUE!PSjoKY8Q&kPCB_EU`x4-3$Jo$Pbbw45z_DAPg4^p9vecKxmNT5rrp5nn6OaHF9fPwKJ7jTF3g&~U zGi3CFC(sW<9Z&_^RY!}4QvFb)00`M32k3ymWIUdu=?8)+)FF(2Kbj4b4|f+JEz4#J zAcYidzz}Zj2mDxoj3LjBDxF{Cb1}r?e=qr(36eAVQ*t`hVuW<}fWm~CTPD>LJ|jda zUaCiWmbMBjUzzQBBjDgkX;&&u;@YlNg!5ha5Rn4%e+DRilp{{Cwt>K?mEdib4WVC? z6asKLao3(8XG%=HYQM|sx65O~2-C(uft3P~Uudl>m zk2qSUw%eX)Mvrb0W55_2r>cx2RS%6X63zPYD8?fg^97b1@IDvH z94QK%VQR1nFm!p&d&PzAL}tWIL)FUye?14&36Zt`Iu_4lphQ?3%MxOn4dCSG}goGfr|615M%?hrE?e46wjqy91e3ahB11|HWY4ms-V$ zwGiecdAcpKVtd2HMjjv!e7#l?&ppOccr)wD`A@p%-hjrN@cGQOX9E>5nkK=d>LelV zGg{}C#WKWoAPeVN!J5MTLA8^_Q}UstAccpYwgT~0XtOp@@!Bl!pEgFz_QsTPoW;xvl%$9Ffzgm{4PdA;TA1amdfk|?o8&gU4 z>^Xb$&#@?_g>~#q@1Z&{iiJ>84M(dabv8>=ib~3K_ovcKkXxGWY0;X-{pojJ~Th2Bszb4D&s$y zB%fhKjUH(5>UC8BKwZ`iv~y0E>;Vc}F zBVa-Oq$k*!bkN+^oEgz}WZk&?&+b^@v1Z0B%0rlx>kMNH=vaGEty9luGx!2m9ID+z zRvfwI3A2wwddT>KZ4!vGU8!yB-H7IqtM!Z zPw$FRq@85zv=(qoK?r3(Ntq;-fS|@I#|Y=QRR9x>G}VnBO`0&c``&`b#5n2bkeD$S z2YvE6@$TGatt!4^ld2qJ4>#u1dB?@v^54Uf7zkaTkBdBMN|I^1AXM%WO~~=WSwgCn z#6h08;S`IH$G=pu6&1W!at0q!rBflp5~KhHVvyCc>M?cDzGQ~o7jgvAgbKZoY7HBQ z^Nxb^;%D{T^Zi#b)bxdg3inLY5{1yA56PR!61uv*RM<`MQKVXoG~xv9?ikkekGpDA zp6xjBZFz)-H$Zm3Jb&7z}deYkT4!1pGaNwBf*8;q9KT&n=1|^Yo zmWDfy!un-?Vc)vXgjm2^7y=21fGasSzbOY3gnoLiyItl`^li!A2QTJ%F<36F3? z3n2oZ&uoZf>*8M36aYkgj}7#FlMjdTh)3nqd+a62oW==%>T^jiC!FA@7B# zkp|){lRZ2NgUDTxfeFqa|6kk#WZLM<0+Knic>JHpSgA%Z_%V1|{Wq)ho=(b9POK7F zrTGC>XdijWe8tO#1(McQkoOa&>e{;vjC5sUYa{VD8 zzQhM$hvmi+E>fB!NN5ljxyy&~Jg&d)#7oQJ<%!K0bzM(!!29r)gjTH8ozd?9pc?A^ z9UmE9pFXK36!)zbYI9&4KD-9G>j~iU+NnCN7k2J@hK$dzN%Ilz+)DHYnKyr``U!lP z_Bwpn%=W2Lq7(vuTzo~?efpdp6Tm=PtMjgtjLAv@p0Do;zZ<$IWY67Z>sC~^r(I9Z zc891tFHoY{g887P@kzVSCd`Bk>!@ldE0Oj-u@}`W7y7%cv%O?bt5D@OKS%0DfZ;Or zm27$#PofXrvg7X7GRw3AE;?WbuLb2$N>F-$-jaA4Ge~@=Ba`gx=)pP0QrqTE7E@5O zrva{H&f=Bg0@Wq&`0*2C3pI2wl()$=G{AF1ENAj-|NYV5^r+PqgDFj9m#gfV%R8S( zfG`-3LVaTBxDhxmt{2@>Z;-wtuG5*`y30L2XWU&?mHF#<4l;Ube8H8=OP=-Cbe4uD z2rD!-S}exRd-1#<#nT8-iEnsqMllD`2Z*^U8UZQ&ahN>OqYt}Ubc_#ISbJ32_?ah; z{8c1gh^6E`FXk$uhRFH~J#+s~qlf4{1`{L-!aVYhb+O3yI0flT>gmca1lj*oG(7*h zR7$F5ByK;Z3;gT-Pi04z`H3L6!Eu=D(F&8jn6tXav#Ym4`sy3*P>{}%ad4=a!O1#g zcWBzD%gm`%vRh;$Hruz2&Q_Z*`|gs_qIz(^3_2jju%cmH@3AfiQFI577m{EdS{F> zIa^CNi}^fh8X#H}=g_MzU&Y3sg!J<+zn93kQ8C1^fMOlZx`IArjWc@=Ikv0X_4NdK z0y+eH_QQNNxm(ZWJM+)AwFR5@Zdr@BUGrNbCh-J|sEDAgz5EphY`?}$!;i~2deYJg zdA_b8A_AF1Zzuj+=uvRSVvNK-c(rCw<*k^~8$5sq`xZ^zQ(cU9BaJaUuDNY@jbjFd zdcFlps?RnP{d+4j1?mf15IfkfefsSAKGrC+aNYHR!wmq8h$H8C;5Jj=_?^zw0n zU`vlpNZg6s6Pm^cK+JxTk3bJ%&8;YNWTP&E8~lO5TP21G8mL&?4(N9pF0-dA>Rzi$ z3SXT)?+D=M70YE_8j57#k$l%Vx|*-5{x2>e3qFf1yJN~dFu(;)LLGjzR0U zMU9Z}m$ZfHOyCGpC8<))xs#24l@lO+}s zx0KZ3wZ8*d3qOcKLhD1QWVH^g#j9-I+=!RS1H@Yp_03g%1F|*bn|$#2*pw$%H0N8Y z3cd2js1(!4_6Vr-_*=wQx_U(DF1G?G$U~V)G}L?Y)hQo| zU%U|gaN(oOmzPB4R3w*oQZ$SXY}Cjrb_Sdo$e`6>R|NTafwyL%QV|hXhvyu3t)Prh zdLNH}rf0|f1a|d&XV8m9Os)KZ1770^n+nz!CKrc@FQ0Lm-?|mrm6N_GfY7&!j`?;I zE?44PgcJz${-tOl=g3t~wdW$c6C}Dv@)b?O%zE~S36eo0`VHSSTgdVFZ>dA68uG!D zfAebxfm@E;y?tOx`aKSq645Lg9t^iys1XkQc)r-|>`)y$Z5_oCv7StCp+mF(>E~7H zVfGGj^0&?|hS>)(?$~pcqPR BMI>4z$E0cFWFAU-R=2G&jxg@<7?t>*c7}_$!IG z#(DZpbmfecXGfz$7Td~e#v6wX_iQ*BCu6Wr%D^ycr{9?N12T(3H`M(zQ&)4E=wwEC zKO>19J5OFOPybpdD%boUfK2#95aK`7nZLh9;g2XXyT4n0cP;ql))BwI9e;Pj`R2y? z#f$v^_~XTDCI}h|DPPNaVFAY&&agG>R!=e{0Mgu_%nsfj#<9dnw?E=7&{&OA+Vy+? z6g@f&CZ_&|G#Adbn!(1&j*u%A{t*d?!8DRebA7ywGnZ$rH+|}O4i1!!GQKzeg<&-x z@?N1io~z0nE(bCWH{zyfjm!_bKzZ@T77@8e@qIKRLnD)*OFe{YH77hPI9KjzuTItdVaJnlVo=W%q>y&p#KaZxp%vkgZ^Eche^mOF6+uzZzsd$wtdg10ZMO+kQgTjHd^X<(a-u}+!&|?xNoK~ zWw-d-w3iQhhoZ7Ua2YcP#n;G`dMD9K0m!{dpPdRLGh5Iw{bxFLTKYLd{Lmd!F3 z^5k>LVCrowE`Gh0e?>$QpCXlK@m~pO0?elhrO#sWJA0mZAV2HEOY}Si=x5|r zym6+flkm=Pn2jS7uAnfKIqoil0zlfUdl8An#4Hh$K>&~Iimys7m(^jxi&6B1uU+i` zKw*m5oB|f!a2;0zi?cRNhtX>9}`!fG@ zz>?UHr48~P*|z8(RDO~FdMvAnF2XEyLycHW*%sR|+<^F>$j4Ra@sS-N#kh0C*Eyrm z6BrC7U@|1~WDpnFB)525j*t_MO3fpYPPW8Slp7E;MjvrVWQ{VFV3&kgxijFpx>Am= zX{HqCW${{Pnf^0WgsxKN*(KN^31*f8C;}R)RVOPJ&BHz5lIjnoaW$rN4vcVhMhC;< z zso>i&q9{Q8#rhK7oEcg}dPDOM@byJaUEDW4X<;7G^L-Q+>Rx7M3s>HX^hLyJ^|4jb zEjSkWC<=1Eez^Esn=&g{d$}vz4b^4_Yl8i5CQ)9~$3XNE00HItUbdspSk}r+kVZpN zgpV4#ZMG)8)wpNh*Ug_L$6E-Q2#S9`x^MI!A**IUWW~ZBoxk0x>NG_JMhNGxs7~6e zFm50XbNE_FfJ@3b+Lqv=WAbJ+3E#f}jL*R+V>@1vZg}kd5BbsgcHodOL*Q^Vsg!)3 z+wJCNtUQs(whObc77}C>eIim2QDY&pmELmkzP%##u zg$}q{|i5jArHQn*V=&j z2KQ5DrsV=x-lk*SNZV&&&f`#eMlmhOaKU)$@VCjeHW_<4M=f5lw#z4q#3R2rd&O3Vs2|$TOd~TGvG8QC<3}LjrZ!5&8(*-G99oh;QdpT z(thaJYl5?%RFcz7jzF$O7(BTdXm<;E{}d~6`E73d(y<8F99ov7O63?$(+MXa8H?0P zPuuFs@XITeP??7VoDCC8@FSy8^`R;=!x@7d7na9-U*Ugbul8ruSp|xw1{5cF1#)mN z^%C--nQB@Nx`Rl#|LQwtH!aMYOr9z>cY`9_hGPuJa26Bv!U{FKNs!Z`oGKATY`-i! zAQWn16crq|NCQw$V06I#^%7@83W8}Yzi4j{D?zVWf!&n;YL_M`)l+JWOj$hdAIIN` z*egL+0^7w4R?tShbCJ?pf)Fgo*8{c*Fbge=vlU92phUj*HGIlG2D1eZOnNS==X4K4 z7^o{gpRD6N(p2AwOPs$2|Lzb(Zf+~W56Up7O)#jEw?EhFyN#PktNSJ>Ft;BjWw{>3Vb%u zF8|^4u(TWg%U0~~Q=$giTgsgL3v<@*?DYDe_aQr*;El0SF8V6+x|{1onnECQnosx_ zQL}DD5(c+@VKL`yxMv~*_TRSi#i;QIy5*E=e%}(C7QO=?`(e^67u**BI~%Zb5H8Zd z&&HzP_JJ|E!pATKwQukobQ-+iw1^daNz|8_y2ph#Aj|*yA09o6wY%uP0KAbwl1G+O z?t)H0)W-p|_DgzX0ae)-Z@=i*BVJ}u^`A5p5CulHs37b^$2|A%099DH`2rTl`_|EH zn~8)B{9s^BGhaiN=Os8k9knKcK7hUt-T?j=rOGx=ElatyAO<2+n5}Nwo76@rqCrKajlFh;camXV zEwql%RL>P3v8N>UG0kt(Bbj{Th9CG76^Wz_U-Q2~>r#_P=g3{zk4;qbmf?AGXIihx zr=>6=dpn~%w0eLWU~81DdS}(d_bA$`7gnpkSJmt5rqFIl^XhG>A~4<^GNtA!H*&1u zAhho_RX5B%6rU7Utowt(Uv7LwCrJ5WpZfhvRMfe;gW*Q}$wBqg8ga_hQnmn9`r2yh zG(Y82qayey5KFLylGX5LlF^4-+3O8<4+iWkkx=*xWAW#bgy0YoanVSJ^VSMvqp*s8 zxOYEkMX4Fv1$=LN%jCCJXkeqmtiLr(7LO|nIE)4afC zS5Y1!Oc;)rYMkgkOSaJedGB_ttDi>gQDS#16a75Ykd2Weo)4@oKYiR zVu?VG&`?V=_w2wpB|~96dZ`;c+)3V_T}ZK~uO$RGVOZZ_Z@rXvIls3qcYYpI>wwmY zIAT)qExm_qiTrUZakXQOSqksu70Tfo&;SJM)%mi|>1WiIBn1l??6+bj#f2lH3wlur z`k(0llLi0UT^_`4+D&)I#b*eP&*>s3S$>vmm8pPoivC0f+rd>bp37g`6uc;&NN(|J z;`O3>i4bSLn{0?jI;HHVJyQm+oTVfvAhn>ACcbrn0=ktKl1g@Z&BM464LNw!F$f1c z6@8u|0`1f4YCS+#NiWd~n>0ei{xGFwrjbJv#_`Mhj)!s5`Y$MQMv3Hy)BYX-8bmLJ z4uFUf>-6AP_^&kaeGIYLH!i{oAJ1VQG4h3_NdX;#`;P1mG|nbFd%Iymt7*{=HN^;V z#p>bmg{tiZ$uJw&0p@$M#j669gBIM|48uII3)#)TTTq!7@{1Nkb13_lIGy%MaS!i` z6-oYJRyXit8&B*0m_nY&_;5vKG@8H6Y|ylHH$~_RAA+~;{{JgDS^pS_R7$h81IwX3 zZ#o9sy8(D2Hotu)da7sx`n4l_CT;wwM!@c`c;8Xq4lqoass>-YpHMHc+X=QLf6}R# zEMX7_#<zZ2yw#p%M)0MJCdd;b6 zt1?1w&HSMoS%p79AWcB919^xk-pI6D8~$+DN5(UebjoogRo+sQOtWA%CUt3lConj3hO#lHLB8v8@Z$E z$SMdw?jvChcjsID3;lziv*)lCAu>}hXgTsb4=eEujHqBO?@Wjzm!aYXQ653YE`J^w zg%*n${@114X5286GTBAy5!^qlrl0<%6VRE$Z{Q881Kbuq$wd)?#>~Obcc=y z7~0?_u*_70)Ag}Y>#jCkBO!Y2(B9c^xDG3x(Tpyg8^MJhNp03a7XE1*(i>5j8W0%^ z$+;HXwU~{plJ6FHcnX5RvMM(FQ8ym)^bO^z>AK@@sRcWDO$>+KIKNSe+0h&&Efz2g zuiBsiQAXhi@M$4mK4NMw=+%QY$=C1~!YsgK9zndNKV5>)AT@JqMyES^j*FZ34e#tf zitX}BP4s-Z>9=vV3AckXK$34+NH3E-lQcFzi`ym;IEn0EN=H5JrubBrds>GKO^e41 zP7{Q}CWFzt<;Y1p6?CkR`#6JUN(dH-#s8JM60nbznlCb9G=S6RKYlS3`{LPged>~= zL9o^asbrP(N|Jo6YyUC~Ry!nVoUwC-%7laAN|ryicX4Yhpy^B2`d%!HAI1mbPQ&{3 z06omu_9rK2w3G}SR1_LHtdviB*FMKYdF*jDKx`L)$*rQM*Dbz-o_OvtmR;A=A)u^h z7Zn`Cb>iUV)yK_yvk~p0*2|;UP{@vcDex!j_swC*zR!W8$I>eKZ?LZ z^Pp#KMUoW4Raur}euT4^^O~O-x zeUC^MalpyhLDNEAsP5}s25rl>9PY~(No7|?YIv7i&l=hYx(%Zr8O60k*&=``Aw{=8 zEPY>R7Et7|&0Z6qP6n~`9Anqa>0PO8(M)nbzWP2MGz77H%r1DL?n2DwTu;~#n?);IBYR12)w<5 z9+FzSmp~$RpXb|%piY^gd3 zn5|v)hL1gH%@h!$SH~h`R6k{gCnbW&C?1;Yp~ptWcc@B=R5uEy$N9qu)&E5~fDOoG zp66HB`uvn0Psf4FpCKtqFF)3h*I6SJUYOvowcBGXxJ<`j*yi>{pT+t{nZb0LLa@}E zJF@H{=J5z|Yu-K|=>yKERMmq9IgW|o84R)Ta{~IJkXxI*5Y;PPF3c(d8xS}$@cu!R zZlxqvx`9SbdHq5Cu^s3?Y%kp<(YdPx!WD~#Vv&q6wgKW+Z)XYwVnN6W%&K2(T{B}0 zE!^gbL6PBKX5tysN+V%%a7{hkQ{Qx0gTjUi+L^`BKy(ufPkFaX1ow2&zd=;UfI$+D4(kZGmWmv{qk3HH^`$=9IrmtD0yIqZ-L z`F59n;{YMU7Tf!khwTob?E*gZU(vW)-aizG0|X71k^HUvbBg6`8k3cNHRD_x!9tOX zs8hJ_>rB*45d;o5goXt^!cjPrK|vCMF@D5)Qo5jFAiuSNwb6tlg?jH96X>EUzl zP*n3VqWf_k7LD}iGL7+gX`y)wG^VkP2Y~Vxzoq#7_`ck5o+U{w$*(_)(?uf{7TEXY zg;!rpIai*Z%X^l73Bu{#0*Yi^&Y4KK=io7zyTkp&;4C62_o337?~lr9bHy_rR08YfUJ-3yVziqWbn)Zza_omlnMj(O#{eDdYagsuP+-T-3pi5?duJVq z3bE)}r!)&R!3|m(Ou2KMx@EQA|6J+ECr3&BIuBC}SK&xSPw`ENK}rkvvpj~OZjtJ@ zQ_=omLDIp=Fl}NLl^LI!OYu>O00w`;>iVLiZ5|HmcasWg|2l5Ykf?+@fmIATYF<3k zzG>H;9SmI0-1=4LWzg|Ty4-DJ0c-nvQp}VrOFXX!8AAQ;aQnpTqinKx2E=0Ci!zkm zaYvY0aeybvcX}U(+UL#J!tFAJB|esnVKYk~(eC8bJ+*9)i}(&|Q~Bo2IZQ8cy4bfR zo{d*HNfPF^v7vxiRhF-Umm5K~)h0;qVT;Xg}xqm)wipPoNlh^x_5^&Iv!Yj zSzFXr1!nu4CfJ%Ryvhbgu$gm^7ncLGaUmLCFocrVq1*K2W$f30Vk)+Q2d`7@Sm-MM zkb=~=fmNZBdKqjZf;>fCK2FV%t%w^ETt*$uryKraKbppT&tR5?*G;O3yyP}`!;p+g z7b$a@UmTAnWdx^XS}xE#(ZS$&&GJta7-S1dsg!o=Z`CH7OByK1lDe}X!C*VI!+O;l zvwtHiyoMho0Lva@2U8`KdR1${p1S0%xV6L+Yl(fu9L`3hCoIueYzpeqw<|k(bX*_= zsEmD`rI7Yvdme78aG?0H#$$b16}{ctfj3@hS!__d6ywqa9?R@XKg^4B<)nP$70;W7 z@0gf%qzcxrq&i~mtyujV-#_J)Saj26?SR>$B08HI#1wetZA;B!%e)UK&LEV5PE z-K@*FKZfEv9aRVdlU{Es^bS|nRlttl){naYly&y5#LlfbCDoa&0bUn7( z3c#dHZ%^4@c=f=A)QM)x?lm_rsjgESQN7=rb1%DcAfPW*&2;W(aoooAiQKW$6;8#^ zIe$Txbrk3LcdN1633CS;@O=!Q)p4ndD3-%DgV zugse$8WI!1He|(lX!UNA3EzjjrxVLTv|_|C7GbPMx%^}tov?DlUZR`@$D|6e>>;y# zKfk=v6ixJ`g5vVvhPuLnq}uhtUY|>`&*m8GjTWQ+u9n#}G^Ql>iK7t#61q%zxLu)y z{rb-_{bBRi|C%;Bqj&c4-iJS=;9#_mj1`GwwUT|I@odk%G|wMj8@QJ^XR z*I)94P;-uj@hy%WY6SSPzJk?iLSV|p?P|1O$xoxet5*ZoS_FI@9(ptgk*;r}>-1#Y zAvnds5vO7yavw~j`FK_Yr=?H(Pu9P;hRdWrv zlnMIY$LQprz7r^tUZ$D(BkkdVVt8vfmt0INRNEHEi$0>XiXd43CQ{oJg~DuaK+zkL z{|A09xuX{W#7S4>x)aeg*J*l0snZ8_Y7wNL-a~z$T?I#)l_D>?5~NNSO-Qa09=Z`-LohBE)^> z7|vPvU;M$N^Kp>9YE~6zvx4j?`fzUk4w&Kx;~e*Tp2_8xslkluyq{#-TEJeML()7z zH7xf$_AqgD0SAl+cM7Kh@mo2zxPWK=3L5Y?A5T&s+}tfd&$1zc{4@Y;s%;xPgyWGr z3s`;3FFw#8@(IMee@S`QV7yHY(JYGoaWXn)viZMq`nV0$xY%LV<&%hrOofnLh33!f zOs5Be)tlI)zu&=qwWiz@FP2^(1AtmHL&5*lT&yZwp~FLp-F7F0?SK7vghF{8rM!H0ea_}y-s>y;vOl@2wLne6 z$RYSYK*dXp+{QRAd?1%WCc5P}xxxFk zh`;`$b$UpQk<3z02e#K3zpPU<)un$a|EoADX3WN^oh$G1{8{g)K&IDEPfSQGtLDK6 zQ9kaw{yPCp@^n6D`ODVNrw#6^5ac0<$Co1$lWvP)E?FTUJ46ra2g6!LGBoCgNAl&d zDc^@{m`_C!n6ZNdWq6O&W1&^-gF2An|Fa4Zz-cGgbxWn&5Ph1WrDI@_nX#C#1=kJ$ zFJ@4nKb(WY>3Kj|h8l2ej?%?zLEx0;D)MdM&{1`2q@xS-OJLrdGWMN%O`s{V)ylHd zb2i*^*-aRtd%Hn}Ypt{huRXCrY;@ZOC$vc>IhPn6^_vXNZ~*EkW`E0k>nHE7eSf&c zu|<;IIwgw7hrctty7wQv|3zpl88C9@|De)2D?+!ogfR!1_U4f)M&k7F_Uqo}VQj23 z=g3wiWQFlmf~1r+vdopu02_xRuCb!%cPWbyT=xlASJ7$siRO}jg50xiVrc4CYP43Bs3qfnq z)KEh9-fJ|-TM|x--}ikafx%Isr*Wgj=o6s%dcgqrlfm$d*~GQ;t#g`P_b7$Q?Wu5YWZ(Ki4IsNgjSzDn~s?Y+e4M z^PV>u8#tN-P&&?uNyMjE$2}m^+}O;>eKFxsb=A6V$`7lGF7~AZ&1zBeHit|OY>Z6 zDHr{58QE$7+=hbw5~*AOMWy-q<0E}-wq|9%rO>WEltUEiA|{!dYmpo-Irdy*`*GEulZpN!O$Np5GJ)rHnKvJEJAUP##ezl`t5wWw`g zLMwfDThLF+gWNcJ{ICOPTR;B_!wP@#>BczqJ^FjOC0-YR`9Fuqh*xoNi_e%vZ2d17 z9h8mtUgTZH<`yqHCanD|ACr=GJwZeiE!oAp>jrL?9mb|^qi1!3{z4ixP3fvh8p)$f z97un`VIkg1T(kr)+sG?h|A}xR6dw~G+8hNz#5KeZSZ^|K<{;S}GUl=MB!p`MMW6&y zwr2y>&@NvWEa$j?(9JubfF>xHUD;Dj%@F%WMdT{q7MP<6I^Je_E*6Si-cPZ}KrU(8?=`tHY#;42Y-Ji`u2UVuBDF z{c$aLY~IQDVxR#l)65SKLCXawOw#G)=8-P$a=&tRP29No6uQT)J41F+R^Haep;}f3 zL^&(62y2bQNT(vwvy^&P70ss~vG{FvRj#$7$NWw#7!l;4Sl1kofi(;-t{$vlGScfT z37v8_wc!<|YO+pI&ARFmUMD)cq2-5Vuol>5*}43k=;O)P!Q{Iwdj#CGLRx)RiSReg zE617mpJiSaDO2@DeNr7xgBLMYz(?zzpc*yGln?1FTB(}v(gc2M?hjw8hTXrjjz$+H zT>!rG)t^b^l-e@#Yj#}7aJ3duo|6-&eh#laf9!Jdz3Q4Exfmp*|!Sy?eqi(-j$hssmbfHj;rG0l{3Gkk6bFtkFe@J{cf+Hx-0ii#ridHAbQQ@WG^e`J>=IXNu(XCflmIzSOHmanaHmGwN4-ht5lOen+N z#_P3RC&wg*W;dzYleL&kcQ;`}0ern_ez}KzOxA{d%%`;G#MyY{zK_~e&d|kTCL6?P zMCSknK!?nnw}I?Y_}8;K8T1UWr<WHygGR&>_Ee zxluGoXj*BzV4L2W6-8cDl@%zIZdD$(*Lh^LLu~NHDXaVD&h064Z=^Bjm0?NyQ0FWxe%R?rUg9w#~O3^Zzg4et$Ors;A|J=PaXyCYMqCwWxnmHb~ChSNwB zQu0^QeE>eM@UL18veIBh469v=>&78?|HWIt*$103)dwm%k}0worYzV6-rsGXtoxN9 zRr460fnIWvt4<6?q@9kK8*%N1-l&|K0n6`H zP5WM%oJedaLqB{fVlk-%rAQ&8MZoGbA*|X^T9YL`mNl2I-LiRTpfdalm(nr-;vm~j z{}F1A06raBDaW3ST(f;>)6b8@u^T!@Rk(s@?m0?=&N98wpL=d(hjWtM6TQQe6S0p{ z9{Ten=6jVcj~OVD$}r^Ht^sd`Unh}XteZd(efeqgGSM_?t|o;~)R?A_s?&dI22#Wl z9Ma{LD$$SkZyi7b%G_fo_@2)(#G5q0xbY*(h{vxryLsX=tt&uV8-BhF&|7wlox}Xk z{F^Un?YS%90d~{d9sS68Sv&u-V!57rOmGu{FQElNy#Ehl=hPeu6rIu7ww>JA$&GE> zwr$(CZQHhO+qTo&hj#kVnf6EQ*=NpP-?zrkd~{m{ImDiRD54n)UZcsXbU$RDxGao5<{9Txun zq?pZ=3cGt%rMu$O;Hza3!3Gb*4DG=V{jfi$=^8yjiht{SAp-!+pcERwM2e9hJ#@yh`LS%Olc4Y7f#7VL_H z7{)MOCRlyAr0RxNVyKP&3Y3iTFGQfTuiHtORVo!)P*BRn! zH;8sGls^3wDs*LYx$iw6MATe}HHg2lvJ4FC%cHr*SVWm74Zq4N)XSQqjXH#&YfnJN zFOp?mA@$c&LMbN$EQL~@itNuio(W=feY>0$`-FnQ=bw1f=o*(X3#r<=p&)Pa+~WOG z3>%U=_qo^PvTTUA>3sC}@RR+^!^HJs`&Fqg%KRezvGK_OY#8Sb$-qN+r(vmvqLe~c6yyy@`!2^~be1LAW;rOF*^ zAsvT2a2Ck~rptNB3ar*I*4?ttz2CTD#P4e_+}qhs)*1`Lf#&78p?Xx`#+go5=sCV} z@|ZILzBqiurCRdpBGbvTpAaj}>1Y@ayBujc#|gubt8Vf}u_Dr^{@gsmv^$3cv-ue- z``qUYR`i*xOwUXAP^Y~(1fOB_{tdPTf#u2|4l-J!Wth`TaoB)gjt9jrpEZ>(7l=nL z1o&4+u-cLBQ#bwB_%Pwp>ga}h2c!g_2fN81@rVaf9LyL52Q_X z4&E~Gy42qz_9*uZz6AOb#>j<>*$z*Z0ZvM;TOI0Vx&p-d8w~%q1988On5W}Xg=qn~ zkPmnz|2}b9v*&b2!ikc2x1a4rC=bo-{u3Ya^){vY28QjtX5b>_#Xuyr`NEr~J5RR2 z%iL-lJqKrTQEdt2wZ77&#+LA5H-;*P{{E*c2U%4nJXAQ)6tD~CMQL2Gdj>#O9kn9% zZG*`(?}Q-S!(=`=&H0)a2)y&3ldEn15hC`K`dkrIv)PS{f~-si${!-IG{=!w_)Q31 z-zn5ac3XMCRpPj<=MBb?xya)u%CKH`TTbLcTV}9^=#OiFuKS#eA4!k++Y}!RkpnI7 zRNTHPbU4*D+d>HvBa6KD9o3>s0*`le+0ZJZ0K;)64mkNp?#rIGg}Bt0>Eq8aD;)y( zF~4h&)@cN!q6?p+K_X$xB0FRAK#^EJmq`ec6;)D4=kKy$`yx_Q+8%%{cc*&yL9ji!V5K&27Pyf9COU zHDlDq(7>t`=E0Dikf3aLN{Vr=Za>m%GgW)RbA$dEb86oa=9!Yueuu1-N1RFdnx-{q znE9gne8Hfv32VWN0t6$h#Czg0JSa5f0f;q!dsTh+j9?#Bqp_N)RD40MChQJ?H$GeH z?xRbqh?NV=A4rS#l@kW$c;c5oY1L1XsE;KUwv|7F*UhsfXd7iD(4~Vb9kMV8rijog z5S}_Q`23ydo3}GASi0>3XNYuuY=X~c8Zc@+0k^HX!Kwb_t*U;ulkiDmJZ2rg_NC&m zQH5I)#pN{+gTjg3xI{J$e?wiVk3INBvoOo4??()-mwPz&tz+gXYuS;JS;X+6C=;@I zq2RPwF+R{7{StFxL)AHGr!hs2)V=aPbTAD-AA8w$&lpNu?&!7RNLSqb);o5bcs6** z-QjSn+$f$}M=iqdhYZMtx|~U-QyT6Q`s!8lQ`|`yNLY1P3<*rWxG#WBP1enj^Tr(} zzu#EMH1*i#)2KwlQb>M>{WXdFZip$b*_b?jwLxr1HRnSKwJGdHB+3u+|M>$ixSK&4b7n?$tNc z=lzSb>IW|Xf3UT7e|v;C)O>falWu>*_3k?9|Hty4B*{H>jUwJI=UBQNHe~Y~nwLpnlAMqb6<4}5L3zjQw)A(1|DN|tEodTh^L?Q}=zaQyq zd{H)pfWe6I?#y$Ar$F!@X-BTeT`IMwRHMBBC#l&uD+W~SRt&|syxb99Fo*zu|glMw4zt?e( z9pW?VTi2^VA6*%ay8=}L^|_}681rAYM+l0XmnCC#ha=kE)2s4AA0t(q!mcR3l1PrA}Wq3{@&7LxU*OHR9}*`uPfZ57&SW zJaPZiTcGHve%%bdzNIGcCW~X#^dmWQ5xHqjMPqV>OXtNnYp4ns$u2fcQtW^XoQj~y z;g$6ow)y}h?@C;0X?}f>U7#zcrrQGt%>UbdfqX41<*Z5wmMjl&9hOn5HSsSnjP*47 zl!gT_11ZEAln`&FSQL~XZ zCYharAbxasIdn7amy+=1(t?$>t>W=E zmsUo&pqXRwAQ!nj+MZs#Yz@Q+@yZ9<7e46|D4ymF=G$iF_oKJfr%zcBt=Ci7h5uq= zM@t;U0p8*#Y4Js*Ojh~t=K?x^V7=e1h!I(QGA_ciGO|nCu&O<-Pr!^_vng^;r2@>7EIiuXf@4{+RNW}d_6QJM6QBa z=X1%vWXHf1=fuC`KL1$3Wf10;vYRkvul`gc~>LW?nOB!EFabxEnZ|I@z@(GrZp$aH8bI*vFzrYB zksbTfqtnv*0&RnDP1-<7We!uWu=yI#Q|c~6+1`z1u6xyojNy{o?MCqNtW5A*=QGOg zl8nHxewgs>8;LOkD`qbEC(!oo3XKJwcf(JbSj-4o^r+d*+V$+-4OEJGvt!)B-W$BTW*PTWIUdoMx|-Xbfp5hz55s(A zD+-(-f^?WBb)hGtlDQ*yiZ*GTMNWSac-y8++)a$6ua{z@k{W5{Rf zp*RY%7PcL8B#YL$+wQ<(eg<<1(t?F4+2!J&lfVpgBP=L8qo_ES8~lYcivBmyB-w;n z5kVjOW8G0d?o4=7yG@LkAcp4s+yc@E=8sYJr2}wZIH5MSSnjS`)!;rPeTbf*t$i3F z1_|AB802(jb*S3)u^#Y6Q7FW9N$Zr&e@1eTPJ6y*xIkr4-J>GGF)Zb4r!R>&!I2Xu zYfWu8qB=fmpjpe#Q4HU^({^vG!B42WhF@hH=$c;w%qlIoCSwvTsAtsWIiJ_nyFfZ*c>z2C7}Ec75|6H=}Hq+hp0a*GsnoKLXCfAc~T z^e%W9$1n8XN~~dWga`!)MmbS0ss*FjGHl)juCu8gqdT8hT?^$g>B8w{i60g<1_is` z*ANaWM$k6_*8t&{f)#Y)XV&be+RX?H$2zr0K}z*#E0gk@ENHg1pK$P0_m;Wu4vJ(r zCwoms$*gg^m*CT#y%to#346}-Q!}x&UFdDmSbr8r)48FNd*t)m1ac@onsultJ)AG$ zg}v{ta(p`fKP+w!&vBQCc3`t0jJdl?$gJjQ|J*G_*wI_C)kksZQsMLgrgwj20ijYB z8xS1}z6$OyIF2XRFE3Umx}vy#BuqpPJt1iZjIm!B{>riQS~|%uW#`ol+b+}UzJEmU z=ga}=RbD8RBe$>#m}?9X*945B-!NzTDU=uFLVM`bSN>e!z0BV|6*WSL;PauG>&s?eRqIqAeeDPR0V!i-jC zmw6v~)XXVanc^h&uVe?^9>kr4-GQYhqk}6H1YOo44@CCTrXiOcx9Qki_T>sD&Ko7b|R4?nq>t)!BF&=~82@W#; zzG})oUY+1GEQB7);6h7;5a*5 z&T9p9imJKPB40$24`=dY`0pXxke8<6^BUU#w>ljP|2lC~1_hE72sColqMjMNvzs-; zr#B^uL+mJ_9sMpaJe|*REi+#(vA_Kf0&~X*QkMS`3|yiFV4NP*SRRf3Y+OI1ly8J7L)?n>!ItUAlHxVK@--AbnxN(y z)b!8sM4vvRUw05DMx^0FEn~XpGx2Z`-SIVLn~TV$WR>BH=I zkFd1E7{gK#s7;T9?RVhpPpGUmQ&zo1ubh$7X6`P8)v52|fhYqlCv&NGYJsciPp||& zG;=`FvCH8Qi8uL-#b_V^U=iW;I+4ZYukI+oC*c!}5hly2SmU5U5MLR5V^;b&w5k3} zN%nUmo$S(AxB+^9AZ2B>99S&jR6K7)Uj0U|GeD~Z&Nbc)aC`V}VUnJPtR-qfg7KAZ ztlQTSUI<`>sMn&q+qe|_-Mz4G~a{Xw!6edWyOU)fx06>8%_}sEMig!P$)RrG+00C_*>*bZk zBj^&+p`MY-7CIc}*vOO-QS=Sq7XM8VZ;$Wm%0ftQCWA#kok}T+;=X85G8>^%=KxytC|JO5kr7uV6#g_FHDj;nZr&V ziaWXx=dr~ko*UIY)wh-wPUK@G>jR5rpmZ!|DlC1WUI=N26^bHZfxS#idVuwEG?MuY zk{~CtzB@;MT|r-Fuc2bknZfUKm&s62eK<2y5>Z~1MD^Bu#o-#?`9n&Xrc8F~zr9q{ z0oz+#MJV*|EJL-fIPQ;{(36MvC``uWb+yyFbS+HA8~mO9BRxi28>Jg!5^a#;?!A} zBj{y7ip(Hw07{}Z*IP`$jmzJ0*>8+WcI;Krdrql zj_RIro1KU&Y;}8*B^~xb{xKc0H9MbAxS~G;+a75@BJV_aanXk3~=E{aH!>Q ze?e)8BzFArFPB>4>v&71x9h?X8-H$GIuC{a+5!v;D&+dUrPZ(%y!sk;{)Vg8 z4Qr16`*5&ti@k2uOP>-3Eg9_PgQzIp=F@mpl5KLgY(`!`Uav4MBV5^a3#HIe?jbbE z`>Wn|&8@b47aj?ec`eU4n7b({c_j$nA1%KlZb_G1g}D0{1gyn7KLF3uPH(K#Q}v0T zjlU{5mEj!{4x^lqtWS}EXHh@TrA$$)XAohjgZJE97g4$>1v7$po;9zWO|~z%HY(nv z9V|&s=Vu-rt$8(quYE6^_$8Y$sa=QaF1MbyxW5dof|A_xyeGDQR-OLo*Tufc*`+W2 zW#UUFxMDJwebw$JiDmm?c{y~52jW~mJ@$Jig-~qd%W_}Fy(wiC9tb!7(8b!(V z?_cd;S!BNz?({~S=+&q(rcm@71?wZ)EFSx}WYCl8v)Qakp z5I##-=nd)`m>1bc0W|`nu*g*9S>p@c2vrpl?t9OKAfZGm3%9KA1-?M#J9k2tLe2Qp zqU6Ewy(+ow4{`Ib3zfo4PrG7|=nL9>A`=Q0g5jDWO_XAB%!$#Zw(hTB64^!-`-MHH z8yIkhlskU9+GP3(3xS-lW>;Jl6GATiPbHgc9>N^%tMUdw4)L@9()I~ zHfJ9 z#1Me}`p-~_vs;VQOUACUnRF^Uq{MeHm}6V7-d9>^eSm=Q@_xBCNvVX_FX0)m3C66} zTd8Z%=QQ#BfC-nlVL{&(mQsEjO-BJSJuqG`pYn;Ij~Im@n!0RWj^ZGq=pW;DXXW(f zGhxye29^|AB|u6BtRW_sA-jmdG`4aPvBNp;HJ1$6>P^dbG~UO#+czG>?Ar;u1|ls# z9XQctb=1lGWjs%WjiveLIA){QAx096vv#6`fylm>uj05}?OzYDe#V{7e54b5-6cNH zMH5tPPTGuOs3M!5S%MkE%jh*^$j@1xvhS`fX6J*J7Xq&M+&jd?@yH+sxImedtUqY!v)+%+ zwPSHhyG_DSVz_Ptql4Q0^@SH_gd$y$QcDk}ZAs(f;`tN3!9Li=ks^3Hws$PKnhPpF zpIIco$d~L-^ZER~+C4gGdlixwYm3=HnTNh;L>d%ia6Z(bvXbna8LfEZ{;9ee&P<{p zZjFOzC?iBFgS`w_(7;Dr1&6j6idQMha5WOSBrGM;xG?)`M8_s@hC>Ks6a#|8#6eUJ zk?f0!eRP2jU318*rLFNn)pG##uaao8epa&066od&aOgS+KUyt2Kl!n^FoC)m3W})o zqCGCgk~x9SYR-B%IS8v3y7an?H6I_Upyp?@1`10~9%Sje>&eKfrP5VAO}Z)(w++Gj z+dbf&jk4V&DLcHsiiWxFAEdc-y#J^gIf(#k-45f(SdXUQ&tv9ITi} zmx8ecz$nzVb;a4XGA)6cy^=k~9CY!y0;3>WIfbe~>0N@81zRkgbB4Ae^3YJNMp1)h ze6TeG2heO3$@kk2z1oD1jQ{YyAyr&hZ(r`WK)z_UYVO08G>Xkax~(}xtg zQ@bHJNnLzI9}wXWdaqSD!rF;lcvu2wKrw0+6h^+PwNI*Cpn-65zlUK;Jacc+Sgw4o zy!JDxsN5wVv?C_XLCr32gl=in%@V4a}}kDeV_a} z0f5s}M9gSEJ4-YXaPTu)3{9f5I?|8M9q_?1YWR2^Om0B9lS)&lDoA-MdGx8h8k$7Q zHRN2d!8nlV(`JH)^B|bwB6b|P*!wohMs9){y=d%eio?-;c*^xtOEV#dc!;gzxFxG4 z7GLTqLfCbf5KGvTb?Nm_{RmrvL9kUC{ie8cm73P_+m`X^FK?q?tzohD5=zu3GT1k^ zi`!jDfW`DBq#nSAT6j@*c*ifk7i9C%#b02-(#5<#KHP}s$p4g}mf!PyF ze)$jpfZi4^D8S=`b3pOd=nA|^0%g!H*16}t(i*%1rzHmwxQ*So@w9?sSw46JzapPt zo*EEhj}!Iw&?+g|bRJ5vZ&lOhflKO_zPPG7EpoDNLC!IO_GN-L(&n?f4I#FA$fJS@ zt~QZfgynh2<{E#BM=)^ugDt15wZIH26jZbln^&TH6VAbu<7aJwVt&fX`(oyba}xB& z$pI;qC!^NPHFU%y1rH?Nqi*O3SkAMKeRh|0V=Oud9s#hU834dm|9V3-3l=PzboR!t zow5i$6-TOsFo3DE*nn|u1);mG`{8GvVi{JcMbRz0w>}djMz32vXz#CwjoMeIe0$ff z*fLKuy$ng`Js&<7=u9?F!7>i#eB9upiR~qgNvhGJVCK;+Ss?|w&x#cfdXnEeyv6QW zN*YSMhuQdvz&Wd4)kk`9$1$N_>~A z3h&}acZ9tWr$PHEKlVp96R<*$hOeZs6pjxvqN9w#5x*kN;vU7V#g=vCPN}XaZ=g3& z0;V_eL+sq?pMSN(rudwG3?^N0<;|1h=*1=2&~4&3Or(Yuy9f2Mb7Bp&`g?g?2tW&| zBG6{wZk1rt{YCtIIuO=ZKO{64pHMRtk~-tXm8yqf1;TLf6ChI<%kwre$VGzdM%qU# zQv_+rjzwA4+A-W$)J)2}lCa$xTep$eC{2>!;|BhpgNJ`o71^u~t87&J$h>s?Wd|ip z4u1B$Z=Ql2((GOUcUbWd;rhx%e+6WgxB&a=oUMSSs;91pVX?Mv9=4DJJ#$2%jHpz7 zj|{Y?<%-kJP_kr|PB`rS>IF8fQEz0ZfEDnY{d~&JH7ac$LJZ(`TsjEOJVy4J`v$>P z$HS_VIuC_6RPl(fd#&XiL+Q`EciJ_M8^H??MBj??moKw5etBql{9c*q02_9tF0c_1 zwWJB3xlNEb(ZV{Gp-2Ao;{5QbF3ZZ7)4>L_4BQLhI2gjcw%wp}ADwIZr~b`J!}m6! zVD}?}sC}R?mxO5o)h3r&u%P${%e<*fq$o1kRwz*cUb3?ox;F{0fu*GXiG~c}V5!t& zV3EY8P_F1wbjJZ5Kb4_nqRZv>5(V6jUcWgL+e9+EC<~Z7(Z()1!?+j@m^;9~__S_+<99}aAsH-yli!gietW=gznGxO@L<8);E_ZK zu&Y%TPN>9)a&M${k0qh`+R_l2vFLpqs!}JDKI}7J3P}-8b6KIdXJd=AjTt-bh-aVK! znxW^uMH*Xl1oizFyaB;Z<0p~`Nqh6cR8S-q3K6$Pru5}r%?!p{ZD!C)_FX&qfCh;h z&STX11E-?~Cp4?%<2m|heoMsww$%U)=x@o2M`4GXY4fPzJz(Ar65q8q8QQFxKbtu~ zVmp*NMTnU#nA>1&pv;V*at`wviT_i3CPA`QZa>#== zlq_uiKo|9IOfRyS3u1f%?JE3rXN*Ih-(NWztjk7)00y7W_1WnTGE1Utt7dW3;k|D|^Bd+Shb|-u#fk5jY8W}Mqc1U_t zWX6&2$nepKxjhL$O|C!ZXkgS{uy9Kn3BL-MSAo|8hFkC>j2mcV@*+W?=6<0>@GDnF z2_&cbykSTFyx}(wH3V?w@431WzNpS!Tu$Ucz#Bl>@%b%DZg06l3PFAnEa&|s`UM-C zq7q@;wxi+*G}7|89aFtwAgqZ|=9jhUWE(q;u`$Ee(}l$Az2S)ugLHxE6(f~K)M$$L zTNTX-Iz7YVIW;OP32pj5+O42=)ceY^dF_9!nzu|?9OL#ZD=lmP?2*)|n>-c`zJGNs zfBST10lNcr&IQEJRBynj9K;jB`>~&< z@MHb`iKEreFSWb3>JW?nUOKSsL~1UG?w3m?k%UFx|13{oi_68r{lTng20R&urIbwB z-!;|N;*<9ZvoX|d2G@NyE}{IWhjl=WPAh0)*FT17{<3U}H+Vo`nw;hU2_3%~$ygxP z89Ou`aga6<7>zd7k@R`dg@wTAA;&k=GU_yK3NF^u)Ycer>YLv_c9%v55`z~Q9>PU8 z>_KXeG;!9Cg03(o*|3A9{7Z^#0gpAHkT1uLNA`CfFKG84v->(|38xMbg~6Uj#RoVd zKkiE0%*r2^mmP^(7BY#zqY_Pb?y9~}6ta4Dnd55*qXRfwgUSNaO8d_(tF(oVjj(pN zV&>&aJn>#;nGaA>d8<;AOe1sdD|YGubYmX6jHgnC^sDbZ8JYWkQ^i|>z%EZT9y9+w;CM8;!p2UOPskoinK}z6h|&5drgwmuEhuoC;yQf7qBUG6KTuQ?^0^t%f*? zJj`kWcj|S!^OODI^DDOUuH{|H>rgtN`kylO(;8J0ODtm0hLLT3SDen~<`O?7^C?(%w$d!T#8=9710hYUgG!~Z0Y)i$f^H#sV=U-h&avA08y zU+NY>`U@koL!VT3qOPKfg#h@G!zHDaYOBf zBFSyE_qzW6QONxhmS+xe3`r5#7(y4h7b(j}o&inFMy`j^4xlnS+LSu(T8ogZ+Ux|z zLPSdhOYMTrb)34H5mLxIe+#F2nbeE1ljvz;p8^#m6s)aWJ~RJWxEU0!ME)~v_lA{K zu5Pz`{#>i`NHd1t>`g;Cc3uxSC<#HD6Z2Kd@-|kGPTm0QAbJx;fF*7`T)7!FE0@(J z5;${qY1h;^1Rvm!byL+Uf6;vqs;A!CIQQJZbZaIAJo{}dH>AWgTWB&1V4l?f`0}WW zLoO1-MI0gvwx0Z;APEq9hT|dm^;)xJw@V+$dv5~3S((u==h-f7nTHk4rSP{%K6wNU z&#crXq}E!jrsA7;N>)>+kSaE(G_S*wQ@`a)=4F;%ylNr*hDp{VY(6Dc1YE{_pHFJEW@gZi>xLekNq6mQ zEnrdHH5-29v_->cOCnQ@<6Ypk3!pZRbu3hDdNyjBqm|nt z=>_6AHf|VPX=w1EGF`zw8mc5`P=v%wamtO42}UPH|K3I0VdW);*)NJA9Z-LtS8nr4 zsjbNeuawRwnsi3)mHJcwNQPhqnJ;{ME+W7Ho#O@!%$i8MjpxJ9$xooV7_Y)Mv_AMI zDFkg8t33Zi!)ZGtv`Z8aR5&wxf;F#F zXOtR-s&jljkip1=`ReU6V=u8?v2rSDyr|HPdWh9Hec!gU8wyBh(*XZDjM+&o((Moi zg)e6F@GZjFSHdyyKd&YL(FacVi=cT7@&)~*S;e->Xw+(X1t`Pkps2S~0efHNcM zlpAbIx8UTSpP_@0da~ezL?X&Cvfm;Ex;(imp5d7?FYIrkUzrIi?WMzo>y6|a{qsC` zgz(<2o-7Ca$F#&I1JuL#DrUVLI3w>;8XN#BTBw&Yf1MpJ4+*VlpE2CEm-W?TnIkO6 zZD@CNg$pAv>e84V>j9n|slp^zh^!*rEm)Zz7Z2~BF-XND_{WDeuPnX^E;$hEm<7ee z?#BoO=xW6gp@P0YnRe?g8qO(rSE~xovxbBVqjZ1p zw<7Sp+6*<*Z8OWRzOgKfuGng&?8bOpu+o1~qBfm`|J)>DGKBt0+f1M1_dyPN=s<_5 z_cRYuqX}yGxzmFCG!F8Pr#;n|85BncONdEpe@poxNh9ppC>l!{>H*6ao4y=(CLZF6 zd*;}sLZXrNutd>+E|N@ZE-;P+P0*NjJFn5*G|yr-lCqE9iMEi&Fw$TUMFvYM@7$cr zNQ@f5 zDY_J})-zU{8gyg+Q;B}RF8uz(5J@zp5ZHswSQ+Cks(#^XMKEOux%|)%I|O7k9dbsO z*NcxA-y6eu)x{<@_L@jHw~E5{gYx3B{;B?~)^=S$xlH4vJq-vOqQKEvi`W0_!$HlM z!erPkOw1ur9u|epl6bV`%N`7Co8rdIGOR(gr1mYCd&TYYicXxu50sB55<<-S1liXC z0_#rrHp!~RV2Cl?s};FJG?&>?)JsG|_h`HJou0dHG27|XO$wm(h6~u|_16s2EghQA zMGK8t&eHG1>IO1(jByw4ELqT#*xgw;dKuPs%b|K!Xm2|xxbx;vaau#bcAm&s^__CL z{y=l9+{iP@=rH&%dCQRx%zZU1=oUIn?Gkk+S#OwgqctwiV3K50rE&flh1)^`(*qYX z;>hJM5st=^YRBnX0kZzNhHSJILynRg^SRS|@9wjX1HA$0EDNx&mO1s}t}+Z)Tnek? ziWwloE9qD9(d$)i;A-=9K=R7TKPgA@!KFYTFST0B{ zAAJp39XvliM1+C0T;-wH zn5SfW{7NKt8mJ|HU7qu0PlDL+U%ygL{UvFTUyJiaKy;HVHG70U_%**q3ZN&GtpjBU zEOWv%1i#%9toQ=pV_)X!8Sp{DU9^cstfgG{v#I2BM5Mz@XX>hG8R1qyE2vb)PrY8g zbO6kOt`u}+0ExUmEq@RhJe5EZ!;v5#sS-@Y5Dy98lVN;J^%5E;_Uzigr3E~ObCY`D zjGD+)NHB$dC1O0NOQ7>NcRG=8He?1mZ{+CEs<}(wIlF76+?3bLUrp@U!i>`HRb_tZ z{)lmWW0NCfvirXXAniC6K{6 z9l?)zX5b3}A|Z+|+%60}Bk9c}f}{?cn!MMZg6+89BW!wbT3SCOLt)1-C`_9-cm|w4 z7DPd0SGczG;omwH8V+dfA#7;RrJ&lV943^HYC(u>d3d}y*$^Ig0J6@qPNiFw>!qjX zQvBk4gVin1Gf*GARuT{^>NaZs_!FAx6r0rwTP7C#5`KjVC4(pE=mBO^<~8LI9;=0! zZ$p_P<833cOsj|(5T`0o;RO+!7b;SYKyZDW7rW8LDO(he9ds~pQuoMGe*VEBaJ2K@ zwI8u-DEp<5j*#{LW=O=WK^@f?C`F)~jbZ|3K%{#0*WB@~t)iW{5bw&`uSYXRW52?o zHGHfvKz`st>n-UeL2vqU(9Oq`@Wi4a?tcQjA;U!+M6&|yeFAFFq@{~W13YfpeiH*9 zlvOIc(&`ouZqyR~iUk5nU#H1z1v8=@QyI&yzt@)4qAXq1Roufj(At^6<}dbR zQW&Jd>XpKda?NI`0L=xJ&M!0DJF=}zkY{|2aeJ+H)4NSFANdB=Av7ea&OQLSOK`7`idwh^!1kp`r{qhzhFmo*Ba{uJ!s>lDD?v%EI>v% z{|ApW({26pv*Q4*>UH%#=qcgH?QhCgUZH7R1nbn&yf2`3PdAH4hd;I@leJ1g>4JtN)>8C zNQOgzOyFzkBX!An-K>@pDNlO&e!-#a4hp(=9oDIO5ztDRt@??nV3OeRC>}`^4S88p zZr!R;Sx(SE(!Z=}`nN(D3Y!C$*K9arA3}F$QH0kOPM|}Ka$8vNRpN6hj93ZyS^W=g zS}rq!L!+3^SJr&fx!~$6f?XP(U+v8Z8qFS=KLi*XK_&=X46h^4;gM}HDPoKUFZa8d z*mMA9F_fDTw-!y4OG#7@YY9kzKPaQxf~ZxIlBn{yDH*i#u= z7aNG*F4?*FSE7S`{^ndiKo?`afqAH{EC>J|>gnC0?0zxtpb~FLx#``)uiZlIeg*HK z{QVbm;hQ=B-3tDG#onEcQ2RB?5nx8U;5%3Fq-`~yc-5pFlEAZg?T|Y>u9@J)+e0V_ z<%)pBFJZ0cQ(`)^)%Bmew|5J+8WO30--#=Kr)#z@d9s=#yhe{2RPS-l{3vl~!t8WY z!oEZoZW-q2{&hM@4orPmCQ_yoogFw9xK?Mkr(3yn9jFUK(P#?x|Dq4ucUFd7SFpXS zD`v$L7mYoa;5A|`6KVyx4b%3%ocZGgTjHTv4hM-CDP(@R?#^VbS_dWoAsX7As{eYd z$;jEDMX~?F`1H0rLY{D3l{w^cjkti$F;Foti@9OW>Z$a&fYuzO7!Ye?P--g!b5Sja z&IQo-#i153iC9y>H1(Q2I8Om*kP?-yh<(u!(?m$4lkV(nE&SVyLsoc+%YwR*j*&_d zGJ~urLloIzb>MdgX`mzYjRAXo{x+79k30D6;gdm@a=pte)qbq3bm=zNO=(G^K0(jo zoQ?;k-o_0G<~AcJGF+R|ad2s7C&9S6nA#xx*Dr=HaDZW1+h~!1u(7%71Ux>C7 z2_|z_EYr-6c&}-DZKJ*4U<>&Un%%+ub8jEuW*>F*(k0K^8aNHP(qWB>?w6CmL zBplu3Ba@TuP)SPaK-|svLtxMf)C@GmGq=Z1{>BF%;ln% z&`j~b?!8C!Ofw8E+m~J5-qeBRXK@A^I|{^Mc?Qn4mTX+S41;_eW`4%_XPrhW1Qr*A z^#QFw_{V}7X^Duj&JiQ-xTp~)V$bCMVCgQboK>buROFDG zcn09325jBpI?=m{hb@%%J+$qy#eY(62oAeRdvmWB;(HH#Sb3LrXxUFW+KFciak5RX zT>6{eXnN* zMLV-KVod0S$$T<*NQ;DgDZM-;@c>I65&_ISJu8(=Ubz!CGj|ofrsf1~ldRiRTDIdP z@D+0f`<{k4RDIv83z$~7!aqJn#iAN_fuf0m@iwe%`eT2;N?6pkRY&B+Ei1qrqw}XX z{BIT17_E=h>-7DJ;~;u#VP=BNl)WdHM()@%M(~GHK`aF|7n9QWvfCQPuV`A8hJCCO z(>1Ku7zx?3GGe;i;gVX-Mq{8HDSp;&gqH-fqBC$7oyk_ za2K3!vxR)hhH7-^Oa!I*K_pF8g8-b%qEx@U(?`Ov@Ok{1hd08&TCV6JqQ&&<@GY=&7Q&s)gq(X7+Gb$!CF+e2_-wXOSozaR%29xwl zdAOcI0Heq2ge8yHxyH8`@98a#YywNgVX7u42)9Kc^=Vjfn;NmvugDLk9ojVR-?6qH z##SvgrxL_JN5XPM&U2v#4e9K;>EZf2~Z z`?P=gay|(>m2$72Z)ui~*=~Ok>R?YtbVZwcxf9pJ=cn2TP{kgNjv-02%a;l0p`?_Q=MP84cYq(c?(?z^|>vRU6$hT4UV>eTkrPc_X&v8G0- zKS^Z|W)tHB)4Pstd_XOBe&G|?cb{N;K)7+)RJbp}Q8j`t+@C8>J~)6vwM2bSO{9{H z%z6N&j@ttAxLx%ol zv+R$rw|ezM2!=C{gy3}<32rYi_C{D+T!ki_|G@zT3>(%?^)mvPM4zpPSQdmJvfXw= zp(Cae)-74%l^pZO!ael5WC4O)*dyuiw`O3#kOJlsSMrkdUM&EW#3~jd#z)~52SADE z;gDQAT>`@1C-0KQp&=}8`UPat-~A}B{*|-1Pv6~w#d>uGYiQ;|DXoqEl0fL~ApIO_ z6}&CjbzXC004S%zmP?oGTdv8!^V3_7L@G@d!g&w~iPvQfzh`KUbKuAenh1))h!6fe zXOOS`>pSm)k89@TQ%FIP2k6=a6JGGEuOH+Zo6y2%1N35O%7Bt4&#sYgz4wX$ z9o@$pSx>1^(h$aOAVecTmu~ehhiJ8$Y8Lk%>uFke@EebuY+~DTrfrA%cQg8+aO@=( z`Ns)*aEQlQ-p?<#Yf;)4UNfp-bR=E=9$d=)0Lt0=rP&XV%WkJ~a57%Bw4#o`lH843 zc3Ty+5%j;@4!$+%*pAxo`B-aO0uowvKVA%MDN5!Rx3RJ{ewe`2xz5S*A0C;EcN^%U zeFK4wBH;e`FTle+9NCJZob>I#*5IWfUr<{^kuH9aGVG}c{{+QV=~;-Grx(V+10a-7 zmOIsTt7Tldoh~bo+(c0#gm}4!!_^xIoRZz0LhaOLJkz)t_bR-J=Uf*G|2^qK^P+HzzkG1by9@fXyKpvf>)(lUrYRGg|m5N{7i!QsasJ$7Ri>dl{>3TDM;5uz53L z9bFv*aemO8iZ+1N`w>hb*6cr2eSSHXxTjrqW8LUHJ!#PHe`JnfFa<366GSd2Z z(I(1h|jO{H7NZfgf&) z;J8FUKE-S&J}B@tqVpBpdES$ncW<-N|KoLuH!Ep|MASAaB1v)P;S5ss*By>dM_Ihh@CTq{{}y& zBs}X=+ARKFl>$alnx96AR_#raGo<_FtGccA=P1Jcr%exA$N`wdw%2DB-bIl1iZpI%s$EJ!Dx(s zphCH?WM^TqAO#@&i_#B~6>hO(aWIn5kHwiX%FM8rj&jq65zdW4vtz94Wy?P^(QS5h z0^*e6K@&xP9NYSSQ|H1HuRFuxiV71}h^jLwOuh|?+c0Tk0&F+~LY&eu1fx19yR*>t z$?NPke3MK)q13Vp@x%3wZZ9(XDAiI^G~BtW@M>h^>d4Nfghfc@)7_7M-NQ_s<7p2= zb6O&?FbU>AVIWy7Yim5MHl~%o{G7I3`rkqM29_4|^pNE?sU7RPo^nI*vROs;n)7W! z(T#VmclTt#U^}VhEyelkm3n`Xh!M?G$7*)hfA{wXYkrvwdp5F?7HXmXknl5v&{)7T+ijFU((%k?3Rj2-44$U~d^A3XN)qs3k!3svd80$y)AL(2tm)WWB~= zw~_(f`l2$2{sHjMFH-zHOI8~z-t}uLr`>tf{;ra>sQVk6IwR~I(g52Uf~WH6Mu80P zaBoUDh%_0h%#w9ah*{d|qMVyC7mk^A!VHQ|06RXDm%ryfskV)-I%>cfu?4%Ree@VR zs|=r8r6qI$p|LdeH~RN5*?!k+5N6~6FWHaf@nmc;Y^=#OA%|xf%7Mcti*g!9^8qy` z-GMAN(jq$cOye3fLszxJ)EnFIqzN#*ggd(i{Qg9qA=$z1Oz#qR`i zcY!t?05Rp8`&+mhiFOqq85~7xHkT`ULCvM@(SY<-1Gc2X8U>q z@3&w-g`@m8miu}qzTIN}8+rc+N*CMGcYVDke+}>c7QOcDUH0w=@U!{;8Xx>RFaJYh zKZTuryH9<)(S5rQeY(@%ZvEeG{CC^XjrQ(0@Ug#!;{OKve+xU0@U}mO?SI2j|3any z8wvb2XZUIN@YX;0Zw2=5?|r+w{5GTbQa{67zlPO+3Sh8=eHfQY@y^t^T}k_EFxAfU zVf~!68{ZS}tvhVRN+iGDCna8{g9$`pUtssTcH{$3tgwJfwf$7yk#F$ml@d{yS9C~K zhk8&Ta;9H14V6EYCy3CCaXa|FKsp8gUZb+B`YUbLv_`d|93nUS%o~G_R&Aw&HroW*+2gFlLpg7LF_csi@p?N# zq|V+9riZl3%Amh6W^cxDbz>2ns>tI+@6+AtElCS#k#3162xog8|9i!E7`3+p4oHXR2s_ourbVA*@sMCX$wt3a;u!_`L<26CB^@B&^a zE4zBz%+y)0mDx@eE*8DOMQH#Ha~|Lo zfR`6{BDcx>b3S%z1`&rq2V!?W;`<_c^o=lCf||Jn6yOyP2#n9HJU%2nMYmf6<0u zlhJ|tZl-a%ySl&mrfLMB!1z->g8B;)(wJp=5%0Mr5Br9T%zuoOQDxp|n*>VaYslso zOosKv`r9dOQnt6C|7r-7rkw1Mu&Bql%x;4JOMaKSWcp;?#!pW}@Dcmd zD(BdWMgVp0z_2E_KmAAA(AczWUlO-Z%(2COXljt*f?%JB0zZHuPld(!I(+p^PQ{N~ zmA>{t5%%^K%G?F1PSa$baou(A0|K?L!Rvh7v`60$>}*917j6tS)5m=w(4qAQJC~Jj%~@72j$+>DOBU?Tn8za0# zm;(PLsI+Gd%p0(AQAt6DDah#?*R?Ca@7z zo+iWRni^I^azw%=Sk0d_lFugV$n|-WXzH?t{=(&}8K&0o6;n8E^zCKRi8^eZmcG=9 zr{}ssv{^EC?)ki8!;H>KVqUSZgjGR=(T(0bs&t!ivX(3KvRBM_nq^BBdZz0;8c?q6 z0Qpf*a3Vr+@TMQG^5sWgJHL#>1Mtf#wbfTQCVo$Z=qN8H#O1H8`%_jUwSm58yE}sV59>ZC7QW#MsxniBX#{?NN3hZ*bH;YuS9&(`Y3Q zpTe00GZq*Ji@vN_ZY66R=e3Pi!NJT01i5;$+&zLe#RxHQji}^J4_T?bG+qI#5jKj~ zA7V~3=NNNpsO~Qe+q;A!VQ0aUise=aILRTdkhd#~cP}2|ExiK533JrrZcO zxRaS@VG4|UbypsI1UBbv`Ir=M4Ui0C&WzL&r^8CIFbLIlp-^zV|4@_6x4mHNKwn2N z4d()tX3PVom1WC0jgqipfnmrPzr8Pbsw2nhxp)YJN0~J4#dBUnU z9;zV8o3K#6g4k5cs}DF6EV4@lSA7bt94>+Vw1*pBg06DGam8x>4rv{xdFnM{GRmDP z5r1Cw3CbH|;d6Juxp~ZGB~Ziw=h)-G3L#cmL`Bow7yo~y%C*ybgrh>o2~C*$zA;K? zPZD#hKTJQK#Z5F72*p5>?QId!Fgj2KXkugWB?bv7XG7$8VlOYEwf>gtn_n8yt<3a&>r@pZLEA^iM@Oj=O8zHgehsQu*$2IIyVuN_!2|zL<+p+B) zu;QvW5Y7Zqt`f(MaU_F`$nc2vv0ZwI-UrESk7HzCLEe_|Ikeiqpx7~~PGY66 zGKzA@Mo%>?Xh5Lflm&`p6e1ZYB;7NX{YLRe=WN(PT#O&7+OsTK$}Gj^_9tgULX7uu znR@2q?r}>XRh{#{~L`3;w&*}B;_;?%P z7%SMZj1$^!S99Uo=!&P z23;A?Br}64Ji!2&n?f$OxkVey562utr*-AEDOHz^gNTa$rfT2dS5ije)9ZypDP>`x zw7SM&4n^6Z!<*%sqY4oJHum}#&~(m+KgT%l*jWV~59J9JM8%I2KB^Vez$%l*5*@AB zaF6AlapHQ|OaXO)4>VPfM-RDlob@)KU&l-ij;1J<*5|^-!gwP`YnnWi3s-okTXc!< zA3e2Sid!l)o}d7Md*Z=~a#$JSl-+h1d#Jr@<(*R7=${IcljYbCTUonhn{ZrGU)7@u z^5~knmV(N4tp6rnNM47tOG8@h<)>nS^E)7!!7WNJ%}=y!Ikv@vL3kw1`&;Zl3U}N% z4&Orzht8WO?=?Y+EG&EsWEFpl4z-p22*E81a&J-NokwSXuX*uki_R>5`0U6rOk7WI zDuxxQRRnkE`qS&4mMa|?Z*7YpMyADtu_Z<+qY@pbWY;WQTv}RYbxQegRUn1D=o7m% z^CrYRZUGF6(>iJ*KY|Ej0h*e_9QH2lX=xGY!I3OR%hfpo0zNrkDdL+EN`YjFC&W9< z1b(>Oz*~XyDjh-H4=wnaMF+2l1X2(euILj!#{dW?QPrhsbgEYyt>e*HctGkY6T<2JfZ`3hQ6f# zIJh)zoHpsH>U6v|IYHLztoMCOl-{RsIby7<3D&p1fs$R#?tg_Bd|}E|R@W`2mUuic zt;aS*2NHk;2j8!ta&y3?6|3oc7xGdC=>jlXcW+n#Q6LKD^H$fRR^kz<$(n*fDu|!b z|2VKc+)SQ>`dy)i0B^Ahk@c+_2TOePPk#CHg~A44zRq9Mr?e+wgCQ!#Q*;p z`$=b%BAscXxW$6OVthcd-o0~FX~!OHZX4ZGxsA`+|3AhjUD+GXvwc+|D3aI0oFta-K{rNX4R`Zra$g>AKcm^!ok}qnVtBSoHQyu>p9k$h_Lscl#^|3D-%>oci$O^M7I33a zW)tTL`#z?bjN%5w*srUYf^k#);sN{s@-X}8$u!y$q#LkPIhNd^b996<*HqxyU}m8Yw@?B!&mflB?F#x_05f+@qHBR={RekK^FU&Qz+4hJmaazJPH zA8l2S=udth2+B0N`!^K4+?Ku^Dv_J%G{RrXKIX@+I@`|>P;a=pEjqazfROeQg2?GD zCN!xin>ncB0@?DQF3xO&msvMADtS3>2f0-pNdGh3fjO*RlRJPc#ZLiAOWUUd@m>yF zp3pheiXuP+QZ_7`kfUH)BC9jVS?ibTq@k1r4ZzGDYAlyh=z3+8R_Al1>{qlet_uHu z^4H6rRH%35xQoXE@Y_#-m)OU_Y@1%elfcw++eg)Xkf4N`&K*B+@y{ccx)fI&wk=yH zee=yI^32c^!sx{gq`sXaQN z=Dj5OgZ9ggj^iZ>G56^GxpPG=-7@Y4Q*F4iV60fGi_Mj)*^!%?rWht!Cg+EQsQxCV$^Tq&? z1gR6tI^sm5RMD59u~M?ruv=c(a-OZV8pcZ6x)94W-_lM&`{c?^rbd||L%4`Z#^e|+ zh?F4hE5C;V3a-$ew-pbM&~EVL>a>mFO{`(u?DVac1p<-krahx6|OQp0cq>h6Hmfj zn5~`;dSkFwQoRGLsu#jMJR`mJ?qQr~FiF=GJ$Ml!a%RRo`n$78?lL756j89gJ^Tt% zg#I>hyQOz%>RLo{a`(VwC%?`sAP<|#77Zd1oQbC8MDiaGU_E`QtA^beEwLo2^j_=u zbWpE#Gme<;(oufC`JpAtIS(2U8w*pdmw&d*-qj$C*V0Z;F0DhqR*dXL| z0z@E`0D%Njk}x)Ip%@0uH8hlIaGR$*d3u_eZxP=npuSyJ(bn%(V5J=DP>5gIvx@P* zQllW@A@J@wC~uk+A$esoidz;b!>MQ1KDFm{08#q+``NJ`BZOO9dU0_fgEkL}hdoE0 z8iji>>tAlQDUr?J*Uv*TtLW29UKm%=!9JWvT_HzGjcVM}Cj_5Y(CJ*$3*71^?kwBe zH)~oaKZOJyFM|_8Zb+g8=qzW~H@_1mDBcyd7D{55mRQ~J`WF|X!A&yaa-iL%5J8E1 z9M@J5s%o-AM~CrkBNBwRUh~wM!YNY)ip+0S{KS$6KraIJ8@fR)h%MTqKShY!i}%2( zJgNP8cyG2aBlE};02P>FwhVkp1?PxN6;SprHQX+IRHoGlwEOZ2Ra&(^EjHB+ z87p4>ySW`HyEU8w&c!dgk@cyNLS(Rr@zsYvuxSBv?OAZj3af*56?(Z8 zkFTcAQwc_HkV`K0hovp}m-p}mXOywNsyiD8X=(FGzD@Zk zpUA$wse!UV{$%%ojwH}NI~TU2Jig=F=rx6*VCKLkK<_E2hUiss*e$78KTmy#LiA0Q zjHDzAn^EI_fufm3QyWcv-Z>?_=Wcxm2iHvHU$>sZ4h<#qsLY*%uI3Qj!`&%Lo&Buz z&q070N@uo~&Bd51DI$67nA^s!cWK}LETK90lF(+YgP6?!Tr(fqEr);tYt6Pw$$$Mb zsOK|LU=XSPiH(UKNXS}*6r?|xjx0hHaobBi&<01>uM|u7mqjZp5>#z%)M7~ynTXM| z0h$A3I^Xx|ulQ0u*I&e~b;E{+X~0Q@`QRtlNH4)pyea>EUHrJMKehl{bT7F(nm2#S zfJ9AO;Q$wgv7n_}FIK_>vZ`KycimK8Hq$C%1bUWF0oATgpoxC1a$mayYJ`q`N`a$+ zM$Z8m0vW<;Zhma?8)9FnMMt1Jw?}m;BYCqjpd<#&hcyj;EcStHVw!Gqn@s4b&oeb9 zN6yvQJWJaX(V2{SkI?IuSnPNda1Awn@G)HD&V4$W6i|r|T5ucT`j_RWF^LLcBLlT3 zW%pok!e zixW7(XPG&Z>UVLa+2}4s1X&aAG}Z@X1z;jrTG)c6WSked{J%w@HZzy|b(SIdb=@NJ z{Dm+oFf@UqcU4T1#R{|ygX~LkL8C=#Rd^`B%*iC$RsfyYLB#NN768D@k##>$sLIV( z5BAA}fUO*XZI~O&8L>ArwD*6_hRM-I<*r%4?hcSQH|zs#y*;tLQbXu@J+k*9EBB&A z#$q+QT;yG&r1K`i8Fc;C`9=h3@gL+-3)Ck+r^k@HzK#NMm-%E@^}|2;CG~yT5e6{{ zT(Uw98$KhoOKg*_atAOftkM2iLm)E7gpMZbJK?gA0@L33pB4KE`fTUz7y!j3EiviO z@JVe^)r!R!r4_rsr?<7lX2eAQBXE%kaeSK19;0%ggL!fu-1nPiXdn^M5XvtGeFThP zgG9RWyOab0Hvf2NhXjMgTV7Z4zH5y2^7clltNuv?0%JU}+aAnA*5I5j(|kSdZzd$G zLIA;!c#G-v!rp4k6f346_l7jQW)Wo8p&Mi-C;J*<0ip)3Hsu@b9Tnyof2a_=I%%$_vE-YH~M871VPo_o_# zqjjjk#&y5z2D2_n_X3H?R{e2b4iw*nJ5>ee-dHn$UHhsC*b#1|xN{rB#D zZUJ~cv#~5dD5L$`&71RhCH7aSZR{)%NC#iGVAvVG02u3|d!ji=1G-Z*^=;f~X>VDY zo4kHhQAlCFnwR^(EN|3b*JX991Us4kb8lTKy;k49XqK-rle}cmxmx?-7aT8Ffn%(d z6(rjln6rbhatHkfI{r2$T-yD|Ls+AaGO*msK0_q$DLh@L_uQF2DM5kO0$+VyfmDlV znwV6o5p*MA9pRGY?t(SoPR@WG64m2449 zx)a5WRia2Gybw=X3NHr2_GUxG!RIm-sp`jU<-ZD6YmlOXqT4@0UY?kFEt8`5;0f(+ zK|E|@(Qypm(M0OlduM@=;m(NcgyVdl3~H7Rd%HWsiR#s?d#HXprj2r+~Tt(6R@}@&68E0 zaDgD*%)5rpC7NgUVF_WJ6_JQ%;&_7a;~ymCS;mQ$tk}@CyhC7PPuNpQ`^iA2B&)$b z9#@+O9IUYT^s9^qsLNB!GG8%2+yu-NW+bs+qZ_vj3;r#yhSd*la8b3)a&Afy zldMKaTP|Y%efP`P7*frv8duUA+x=~1WFR~Ft|eaOAmjfq!_-ZAj36kRf|?A!P1y-( z%7x&_6fuiJ)n$xDMuL)seF4jMYY%Lo;gjI|>7zyDr;h4WDBRQLeiLp%X2d{A23A%nNONN zigrNwoz1Ub%=|}Tmwkd`Gq(FP%X~{t+t~)4{Hn?jR&~3DO@X-)ATYWa!;^98(;*=u z_^BmLFBZD+`F+?eP?=yxsMpE4(XKNk!y#Yi2QdYbPQWG2ekW6i3EADQf9RL9*i>FF z1BJhG9ad|`E$}M>sXzb*5)ry&SkRn}EQp$`8md-z^lQ3A>{%sQ9FAz;m;B4kdxgb zw4(7uw+a#I_EXyicJ?;4#;@&6XwhF<3~otUpdelw=Y!@(GMy5A{VqBG-V2QDr9jHd9CnJQ+GKve-zQ;GF27$1yJIySJ#w8X0 zpXhHL>!k^FIFB!L2}>9Tx>saqcyj4?`mvHvdgaPh?j6REkgqhwq2k3tDzkeVdn+n8 znv`E@dmT&&Uh^>2aoK0pNG=S&UyT%XGL{tL*3IuN#kIj2pjV<&r&`x-An7V?LXo*A z8m14aQnw*Oxc2mXUygY-CnmzZ&>`B`IRzrL9c6kD2z#i$=fXc?-X$^Dfc)_(^*7^T z_{$H}>K5OYM=GLAfNOfqzx0oua@RQ@&evc*w25X>phC!x^{Q&VAZSUswu>!^(P;6taLg7<*YzaNr z_a6@n1g3N_bj45Fggbfk5OT%P6$lmw_(sO%!&mk9o;C&X8l@kX*)u$@9eLiiSIn*o zEFlMa@C{EZ0!`&FP0#J1Pyc_vlSOR#a{#OsFq;=~z2>h_gSZ==LESW-*O{Qam1HfY8#!+5Z3XTZg*_khF z%emBWN{^Hh8(Vfd4ckz)RI98{QQs_HQrxX*R{t%XpQR}$dm&2H&WqYcH3~W!F@6)R zs2|!4{YMD*=v|{f-=5zQdc^$;5n`p>!l=s`vpYF|AbB=$ap;ItZXUSaQ`V>mN_opyP z6;gU3IIku=A}Qz)F}Po761)`aZn9AKqwn=trp6q;2iV`vkBgR=-I;md zUcnJ|ZSu_+QR#d&!T}V%G?CtibRB=0>t7zrBUpS6fykzPcPg)ov!0Du?NIm}U86u~ z(lDsQ>eBb01iKe;C5Z}PVi*#S#^G0p96S~$<#vM$0@0)+iROt5#5Pij>7$svmK;iA zU-OYIFL-u4#X&H@B{{$-qyy>{(^XLZI1q2?kk=Gw`xe5YGFhuzb9E!SuHiAOCKr6?67YBDx zt?#YbeWtX{g%GP*tu21NiBjw_UBk0?`kZ8~(muh2Z>~(yq|C6ew#+gM!5Cxel7(U$ z>)k`RH{$dnJBge*x6Ie!sFXEvk1fW6m9z?-bh_WIiX7Kxa6eKPjtVXw21YK&&|=$5 zRauri+_{9Zx4Y0vmCXwV4u0YB*APy&s&U1idvV2vL$T*_-QtsYQdme&j0Aj%WU+gf zHdwfud{?}35D&VkC7)(_guC`-n@#y*xXPdT-}9FqIoipC;xF$ecG3TRVmA{Bf(>s+ zVw&hxV|8%`1WZP9FKlNCt+*Ca2M0)uGk>+B@P$r&>-emAfkNxrC6I8%>48A3NagW( z$+=iftjvXj3zltwRW!(2T#|iq(+vk*=}YW`FeB;c1AurvQ>2=>7w*p*#V**b#wNb) z+AuLzkz>#?+Rka;$s*6lor7^)5tk zboGW<>~sdS-OSULJ9>iXtZ^#SV9}) zEdG~+>gL52X57lLGIdX%yT1Xrow$D=ZR#aJ1R#7%7ql8EVb(X2^EE+&jfJZ zhbmx&Ri$$;w85nV{9oy|42|0pR>4*c-1pY8aRN@;aD=$5(<1ox5!T8ynhr^bcI~wL z9BtJra|+9BByRHBixS(9xZE2r;oG)C@R~R=Mh|ou>*DPMOrO6%ijFvWWjCF4c(!Jd z`=GMH;KtoQ zxN{EC6B>m1<}Y@Siu09m^o}1x+u`7+3hvXFaAe9gTuVTs=4<2sL~;uHqc*9ve2yAm z!(x8z6Aa9drHmqE_Y@krpWCU<8xWLmAG|dX=Qzg|s1W%=VWO1mUWo7%QG~#$HrF)? zMTnkll@0tt7AT#7UWZVhIVn$zgDtm>lP$U%5Qeim+y4=HZ6Z9qbKB&o)c{6FZSxly zBRja@(Kp64tSP=9Ga6wLSk{CbZ6LuZr#FrKv)FXpfGP(1u?-9~ymz(o@JsnX2kk7~;2$Grg(ZD2 z{&RO^hcXj$Q$a^G7_BU|_J@uE-;g67;Z%K=)a=N*cA^>R?ssahAX~mrj6O+8YvZ6f)3Sxj$wA7+B?9#b9MS6z};WEZ9ksmCw8PPSYtr(a35$^L?4wXmbeVgG7OL$q&IFl{$= z@CB%&HZ}JKaspDh-M~_;^)6^LFTmE7m0WwjCqovR4$fNP5Q74)&R=g4UVDmHQTH*L zCz5Bh5&M5(Zdss#8KgADLZxq`z1ggf@aGBc7>{HMCDYFh%JaQ)YhsNpRl+N(ryfZp zgF#80+1%0zO%l+&6311See5f`oCffe|9+`@@5rbM#n|8E_1(QV$Ra6xMB|qt%bV4( zvE}&m1G1tB2mMEnD5$%R-$C+)s;@b68=;Nk+T2~I!DO;6lCsHpB|V?kR@xDb1>GC| z6k@2uF-B!G3AT|Ti_}$=MZ^xP$!7d55_ZZUF-E<~nnICbv%lYFIoz^#D_e%7scBoR z-l)b%O>N+X7$VbUn7XupNTSX$##^fIAlo)A) z`VGRoM3{gQ6F+t9q9wcd1GFSaHZOAxC(|a%ysi+;tfVxa#TuREyS~?nNp05GTay9R zPHz7lcQ-3_4`2*>knXaZzCWl#h=ukH8gQYdkq@=`5Io$mTvv&}q4SBgs?NSL$(KW3 zNGcslpHDOOjlh~oXMr=ahy_aw(E6q4*s_y+~HWn!2qsy#kAN6(MgBqsy zuoW%%vr2{>N3`z;Y%l_VQz-p~g9LRqy*I=XX&7v^&&(*Q8LyM;f{F9xg@?G9-#7PR``}{I%I@a$XnjR?EwWuY2bCb-;jEK~ilz)Q3 zS6;EyT;mZyjqwdq```h=DehxfVQ+pDf}>PdWtyDZPb*ub?wcd^0Sg(Az(eBgZ($|{ zgGpbT=?K{7=`*%x{OWLZwfKMQ$PNb1B1sKK_-`G+dZIlDxeI?MdDY4!rR(iQHE$)w z7L4*$Zt#7Xf;&A)3~`M9(FZ!ks4c3hUB zd`8+arRWEEVZa^p1VP?;w0-HnB0yPp@LNBE5eg!O)Kf84w=%*$L7UN1W16)%VLxaL z`PxXeNXW*^8M{sxuX)18=K@G&>+*gk5cHmpyK=@8OUbdD<=X_JGDMDFD#NExxKwfONw@)nW}25P=s>m;VUKLC$r z)efWEJLpYU!g6p=B_WukaRy0tk8l&RnVBh)?U!2%(`M zkP>bj?!`XKtfn_#ZJ1>i?sIMh$s0ELQPEommT6t1i+!Et1hJav3;#P$r#fS^MT+nZ zFjg@{P1x8!>(Zpj6ckY;(I-z~Ng4KBCi`F(RdRXTu;l8-7y-1iOG;z!uxZNiCgddR z8PAOiDx8T1mT}Rb1(R_5gMAWbKF|p=)Et!T_=< z-w^@uy20fR=%M2Xi0J1FhYe*2Xo%1`_Yw^%t1)g|EyIZAxSk0Ovyy?W@7{fdj*qdg z=5tb-T~^Z{LizrMmVmH+{zdZrEMwo?xo{P)DL*1ti{O{bUUFW{Gt7G(_wM@6C}6Cf z-BL%K$R9yvUWILEZPPF>xpa{Nz8i!nS$r>9O-Jxr-uz$ZZ%z+9z|1;^QhUB# z$kK$M764KiY?p++j9`(@w*E4GOm>E5a<1>RK|Aun!vwd8u}X;d*P@>GvxL*4H%4Ks zvjyY$PyHaBj4&Nv%M>)`Pf``ZV0(r5=$vaW9mIA;5 zl#)&8Jk|gmLDB;!juJmIeO&CPVBSgT(R{Mx?$^G@m7A83{7}6`8J*T5&r6={4nvG@ zKWUIr#z%tQoHO%}f(a@B!5U5Mp$R~r&GF~l17qK*0MS!A7R-IQO3Enk(e1*{-@pH3 zqRcba@T1fjH8|=CD_PcQ@G&c-@`u~kV5R%@&(z+!nb=-&MgLYS5H#foNIpnGr=UqV zG-*&BP?0f!Km^K+rk^FRo0MCe2XodX5+oo=&F{*3(dK`wN#(*BeWW&R-6lwK56=he zOna!gUnXk|(mrP!#X;}jwBmPxI%KyJ3%9Xghc`)KzuZUqI?{WTO^g(vf=cNgD3+lX z8#}`8zRDOJ4MJm$s08T37K;JmSHXi%@*wKfH(t_F{3*sJCan-U@q)~L4{{u5hb89_HU*zDQTjUqBm3Mnu)p+c``~- z`#2W`H%J!RMtZ<+zvGk_a*GlX*6idpXAz#nzkRQV;o$M`Ag+DtpSV*ZHhan4)_|m< ze1AdTk`6PHEFPT^EcIH57jizqzMlEh3eW|@EXD$w>*jVQ7ktal@TRm;k0OHY53EJ6P0ldsJgysqoE zk5O0~@+Lxe_Gu|-27K#KVxy0OSZH4&fGk&`z?ghc#D<)dJOKooqxhO&`U(JWvJ1Bp9Ri!j_bAFx$)^wRwB`b}XH&k<~ ztCZ*dCy{3@3ec50A9fi}q9}~s4fv4@hbBja;;!wB?-3h9(<0NDh|xoxqrc&7HGw+% zZ=gi(Tsw{B!>K1xfZ2UbMYMO>tBRy9o!dBN{~*XKB8rL$8+-@x1ViyZGsN|)5 zSRFsUAO-yiwH*DN=O<)s0nGDd94wMgNU7n<-Mu|@i3wni(-;nyO^`ibAhW)3ZjJZtDZMDJfh1wl zOd0_)Aob4TU`1uza7VtACbh8qQb*R_2(~mVv}i;TQ`l~3Ewbg8V6R9A^E+fEm{pwl zizU<$WO`^IkBB_()y@K#knU)8naE~0Z!C`;xuCEz5ush`&7fcyxJ!4%LnzBM%4B|E zc#~7FbIIqNon`&=k!e=rGf|ief;Y5EG~N{*Z4nYhym_%>HLr4&X9Z z%AvnCIO8C@6=zpZ`E{?l_P_4OUOUzSUI(@77S+0P!b3tgAyn~8pD0Rr-{U?8IDbL6 z2w<<{V-;#SQ#I|qS=7PN9!>@`xsO0~1`%DmXj^=0lJ7rDIxyLy+jZ~>ahNN+2hLVR zGlk{garKT8z<=ene*`1-*At${q}l|8_l(<_%f;cve%NgU=w;r~Ylp|siI2H^VDZq6tNW}Pb8d_T3u1Kg%!+)A|efey;G z@(sGLuE!>kmM%Eff-prs$i~SEe zIO4B=bi#VfXx27LB=#9N%OKT=DR$CD7TkIVRxKMi9e?d}Uc)Sr&>f_yxj+f(E)~{Y z8${J@%)wxn@rk9=H_7b*il{hb=pW(GW`_6p1E=WR9xf16M-y=^kMlBuB|d5dn(`Sy z4@Z)zr*^n@mKq~CwtGU>`tVAfC47P zq8|a~axV=h1Jk`Ki6BkzpDidkQ5hezD$NW2G+?>OyjY5^sxTxGB)w>;!Dh9V56o*+ z#%CJUDU-RBeg7=pycU?g`?DqJ*G$9bZRB*kJO4JdbZNTuv(yVP2T&~575BBZJd_}k z@L9nu6SsS(%S!gDvIv>4SaP>fN^gCg^Ijp__E3hCe&#Bln%b$5pZ_>xfnedV=$ZMj ze69`SiKtARjW*X+T6{@@;MR65nk)5s0<>%Cc?MDs-^S2c%1}&@r5SsB@6un0+{kL@vc}UG6loMsR21xieXUXCrCb#T5{SqC z={v)&k=lsd0DfzNy$CnN*35Z;n;;7i2lv2~W>cf?mtt1Dk}J7Gnjavra13J5rRQu| z^$Dz2TO7yz7n@BIy&7(sTGXnfN@V4q6?WYGQgk+%YEpkV(M2ZUUSORUuyrAg-rnOW zZ*7i&IWcg!4hh6z!;}g-F$sxPWi?JS6zrIeVAz92DpB)ak!D?N-D3lmX{NHu0=RnS zF$AC0Q2Z4@MKM1*C*)$W51?lKdz-M%fnMI9oHcq5X4{E~t3tIACVu$0td$=7f(}tK zMkex27$5nfSn;Gu^eTRHkyxgk)L$h3f4hW*469gef90hJBk`ehNl~6(@`9PjA*;W^ zJAAc3+@e|K_bD8dCIPI`#W+faIH#!+VbgYg{u8LmE6VTV*Sd_`PtR4=@_|aK)*}(& zPrhzwnh{ZB+@$(cCNxcl!7!NC+#qt#gQht@`dXqANYLNYm!v;6v|MGes&L~HhL!Ub zHiyqbJr*QKyc=NQ9(VTqQ_T|n01xPJ`FbtJKoCvAUFe^rq+=e0A6JRe6--g1-(~0- z?anWC57w*xmz$*fhoh^pA`@)PAumM)1%Ex7P?l7WSahA8j+b$PpI`?OA7?^oX}4U9 zE8I!*Q5<#ajUA+7_-jwrT>opN-D9&TP?Rm!W81cE+qP}<-ecRgZQHhO+qTcUsY>#y zl1^85`X}s9yK1d9$CTb~Z@XK4M3+^j*5PIt7gYpT;WRc#b#6keHx;+2__YWGGtKQ| z9Otfos$_#$t$B)p*K zNToYOEhpRR(o`#q0<6T>oI#tqgzf!O03bJQ!3?Gfo?fV2I za`lRrz1(RORW5y{ew6vz8KX{qP@?IxS9yW4o?lXAXTQE%6dYH18^uKw6G`ieskc+g zoHes`X2$B{-rVpLZTzy7pAr=feYKc1)p$1UFaHSRMzJWZo!`^dYWgJ_JTk&QRxK#s z?d`5%Vz9u_LtM3Yn@)5XpW@kCdy*|-D!DQoi%$qwhy7;p2f#=K$!t*V9!iI|Aop0NQ)&$cG?x2pn;Ka= z$!TcIQV>1q*y8sP6{wpTXrw+Ax?=d++_eO8B$HC{U|@qI8~Js7-<7K8QC8Yc0aMwP z&($CVo4PaAzB6!?XwfUe7@9a%es8nCEiMXsW^qM|#UQrhp9$43$c!&8w1M&6XST91 z)w_{nyGc?FtFwTQ{6anS$6&1{GtO%_z#I_)kY!-uQ|mM?46;r{>}I z4i91f$1RrmIAMC8-~@HQ7A~+Xd>~vy1s3*~lM4M!GniBDv1z2>x#2D%`7=7p2uCL^ z*0i9$wrP=xqomFuWOxeWulSfu3AlONU(NLeg+HqbjsqezEL>*n3}XJz?_@c&6LwR% zGx7NK9Buz*W={9tt$`3WSKF;yBnf@094)80$jKpx-VdEpylu?693YKZXM(pVfJtd04muG%<)V%tv)lCi92Om8;WS431)J z6XD(+v5U=xwvtP0CjX!BZ?W7nQ z<$ggPFbrwy495v$T2TZvTlvcT^PT`j$9RzRevx<1dL15_(_DCbwHnin_x%G^o9PIK zGFWTYtf@e?y6U;^zH_XirUn>q_pS-%Ep)+dVOhd^6IX_|j%+?lWD6xfZo*Xqy@k`o zBHST-h7h39Z_rrsLU9~NE5bi}3FdzPahB?b8KlkmI=oA)kr}{_w4YcwbK(3OQ&aC` z@y*hG*A}F)30N9vPVo40W4R@VUgnwo#%89|HE+Q2A8b$G*(5NXq6z8p6E zYaOYr)V-Cxs;n}GuJ=p9b50>>D|vd`V7Y(Q;}&Cg*OB~Q$F3IH3&K6b4{gV1Aoy+m zc6`re1#-b_?7;l;)iW0>eo%{bMB`jaf2ON353W$Y*Y)e5Z4-#BcsE5e&@W{(vLLPt zS{3zy?L+eiswOq2MyW(oQ&`7S;S&72C?hXC&O8T6cX#xmq{|is&o(kB`?+9Qf~@jk z^Y|E2TRWb{D=;<&2H$q(V%mAepU6vMSpV4+V~Y3cd+LNAdC{rHk{^+kiMWHgOuG0B z)FcdIr9aXkJXy;37fg!8?hF|>@6fPnDSKzaXCM#uGxiEmbRCl~430F6C;moChT2?#Ct@^oBP+TQ5V#>3(XO?RdB|N(W_v7%78@hffp3U8{E+ z9LM#^8JczDiky%7-CEd-cT4W9(CiqJI=vKgh1}_soJ{T`d15HqXKkUS!je}Zb=z;6Y!z!k2HWP>`iL@(}qFr*H9D8(E^(5yo4#$ zo*+3Lh3v&2HOWuu&MUn7FNa9)1ln;rwNB8~g7SI#LF<^>nY2HWIP%=i;hX`ym)oH8 z)Yn;CGBZ_n^GUq(Emv@X?pqJRq?y~uAd%}Rao(>#wtCJs!_ z!F=nO?!hOB?(}2l2gW$;@}}L>a$5x@;j05x%5-PbapJ?{Pb#h}u~W89JIS8|Ssp6f zG|NZDw}|l;W|9PGLpn2@bDsjr;9ZSDCS}-_^>}Qh{}SCawFVIX>X#?vantn3GjJV5 zP4Vih=%&yGb|5qoWzo5iHu0zk(k#^(#8@lmha@P&eMM=GE0+20Z%pflRh2B?yCa)c zz>_=O(ot7ZoLBnbd^H1|E^8u%&ZBeP`Z4%jWUwBMVQGm3bN_m8VhBDC6hQ)xp^krb zuL>f1=x(qUcQ_vB!>5QOHYT{3r{|{(Jv*~JwTMp0T3I_9>>FY_bv8i&m1eEd-<#Toe}qZKTJZ=haN7~<5cK>k6t8Ye~C}BU4wBce%q)JzK+YBXp(M1 z-kKeEMX1UkTUt?e+qoX{#R0JAfsiXXi zwC6mSKM3Su7(=bQjr&=DdQ>;RwrQbzbKa_)hEacqub>VUVued%=Ve=jt?f9g#G=)G z2h_f@qkZaw4jblQT>b#&4%$JtI((;4AYjwNW^mbaN=NPu-rD0m!euwYBp|(E-n?|b zV&YoNIXfc&JmAayX=9-S^1M}}5y)OOQI=V5M(T0B6mW{3n4aPEy<`8e$a=7t;RUq_ z6CbU@0-1ea(DxH>s8m`9K~%+A!hKcjgbsB1r0QI4k5OyZ~-g5i^nl!{w0Xd?kU0?T1R_wzEG?h7JpodiX;=MkGd6ZYA!L>8`t?ag4p(#hPq53*`|#-ep*XS(UcNkGV)(AB z=w@f|JiPOdl>SWATJP(nm=s%1kuA@9soA1OKJT&DkZbO*IsK zKkz{7l|SgoKLLvE({-?CyW)ps!8^4YGGuX^qWJNApF^Ln}R zdTn;!`0p1B@|zRqFWBKPnE$Tb;;y|&!Qrs1kx+v7vN?VX@5yS@&%!#)?Rib^7BTia~qndgE6p>2?AHK4*l%T zNwa4hWfOHsvLU>M30p086`^8kkp-_Ok>m6-wwjJuqNus<*^m}2hZe3AFg~%5ekVA_ zrv;pgrgRV^Fn}}ASt(14hL)q3-pOM?!11NZwNTe1YKbT*o3gmEW4%OigxSlSN;pK? zBfMGDuUBu8Ea)9qrOhJ-fW6Q3GMse3jmXI-)N(foNcz03&`PlkVO&?%=iK3o%F>0d zHQpEg0qk_w*cuU$JTL8J!1ghsRf-qER;7v`PMpf^!2jRwlSnA{!Ww2hPM1rQI*dfQ z#%;vUDWq0{c&TulLcAkeYICBC>DwX*2pNF~X9!rtJ$JSD1FLW1KiJy(yH(u4L; zF+X(KM%SCi04`{Hvxd9~!>`b$G~Y&H)~(EruBfDr>M-0;`pO!95cGUw#oRu z8um(qM9WfZM`~~r?Vb}9FEj~*Z1^9 z=f))vQ>S6)1t-J=sx)0k&VtyLA_U8l0HUiD`R-GQno16YL8)#WJ>WF|Y}=-gPY{i4 z?}D|$WfmSiJ8YP&%$G2)q-cgZD0R*4yo?VR?N$LmmkBNqmdX>_gfx;c(=#Tu~HW zt?-1cF{JDE9w6AoH{!Fr6q~rPXy8bL5FuHhkLEA2GBT1NQ|YH-dAu~rf$MYqar+wF zNaBFBc@QyFqjEQJ-XIe-p#mwQ`V~X+PGjL*WOJToo~VO9;x!NarG^En%(_yUb_o=W zzau*3En#Q_?rwmSumCxRSt{nP`s906sc(68cN560_8409*1#~G&*}*Mxf@C9!yH4g zf!PvEw+b7d!V=bkUdm=&wNukab<*6JW`1?ye3a%J!gaqXZIKU7Ic+ zaafRGlIg1f@5W)TG$txTP_7JHgYzDe=sSBBI@;|E@Dw5+x>`b6+fpi86D*Ey4ByhXB^?uD4a?RHlwOJdvg9 z>Qx9xXLSnHaacX>_tD%UGi{tQYm{YP(i_k4W113L4ge|b{3>S)E-rVm?^sQ&a_Dyn zFVJ*0Hsi{vx;MH*i=R{3#75gRjm%c(Fo|tZ%$;H!0>PF1&3eAS_}nit%Z)dSgI|%n zet6-U6OGHvpwpxV^{@zHRSzHrE7-aJ87IXE^vgUaUFXAoR;d5fI%550ir*YHTea-b zb9nY(+bqpxM!7kv6Rx$eKx^q_UB|S&|IEo6<}@D#Xpw++@|9wh(HB)60iHUfRL( z$2ws%=8SAnsPYMcaPuD!t4mXP3wHkAp{$$UX6S8|6Z4rJyziyeQ-(1ZLVk>7)in3O zB*b}Fz*ncypFR7`jS91xpDABmlWVmGZ6|0@gmA5g!-U%rEiq)CoJ{2;VWNabfllou zg(P7cThVcr{Lq@H15oft`VkOj!44e;*1mS4Ln}H}Wk^Ye#h!&j6r4yI(VBOm`C!SM zks2iKd|d(>bm-p<@+WsroodGbuVz`E27b5`{`6p2pOA%HI)0NpW73NLP0gO!01Y!K z28|N7x9L(U+STV$|25VBfq)YUW$R47bp+ww)f$#j*|U}3T_fer)Ds)}DR!Dx9m45t zz_?+!dNqNU*rn%K&+@e_{ko7=OaG?%pIe zw3H8C>BfC|cGt~$>V0C6d!&!GI646x=d>)4pE3}@Zf?mMLCNbs!R|=quk>Bp>BvP+ z?Rb<0KJkZKXkWhBD|>)RVW-u@rSPPyuxOxz&_`7IdgbZ8t2MWqAY)A+l#Vuf%R+@XVoE0a zO6wuUP6TjWkCa-!vqka;%RY#>>z2^F!9i<63lnX(GOwaLgF!4F(BmU%KLPpwK$;S7 zOY@_7n%L$eTIcUel&2OT9zkr$n#9ndh@S=68&2elIW8-`l~fLi%E=vL`%X*~8EES# z3u7-BFuXYCRf@wRp-|LPu!&ti-X|$Z2!M|eKdOjVM^E5+WPX}hrenpomPFm=&}Z9} z1UQk6YcScOSbH!=A*aK)+pgpN)aso6JEmDrMmrIQ1JG56*}}q4tgbf;RibEH@343G z&x%wC&FP-;!EIZ5a+xv-zpofE7X6VzKlfNhEBOi=2` z`jY$W`((>WdKvIUWRMaD`UVBz_?Iz!S5r^J1)^V(dOror>g#sx7VSAU6X|IPS686? zj<9HG)*9$?EB!E_X#ywew{lFkC)V{Rf4s>$(ZD zc9CE}XLJ-s?S8awXS3GCxJtCFwY^_`U}p#4xoc) zORvbkPZ|O|7s`ELsIkL2s&wVA7mnmhjh%pKnD~0QG9_PDL;ekf~0^&H7r#T6+mFIRN~>L0%SPPi3I$9c%HJp z{}U`rygW0y;~5s~UpM3|=pfFuogWWF*-}0+(-xQ>$|9cE0b~~(ivyIn{;j92<~*xL z3&&W(tu&W<4Wt>zwhE2hhN*F9D%#p7%!cfz<>X}NQmeu|jjB^Y({}q2)4Z%t60RAC z!esd8Dxe0%cJWE&yhWqbgjPXROky?$(BHrCb-(=MKy>bif=Do=T1|Q zxfBuaisbQ;c$LViDL?QF`L|8AGJ3RN^qU?}>11`jJLaA_rb8Oid|9ime9n-8(-)4o zLpsSG{o9QdC~l0bbarLB;wj8rG>s3K0g?rSrT)%qUX(Z`nuli*T8&92^dLL)Nhge; zn2W|w91MOjq>D#i5CL`qU%$UsCw|JfJXMNn1T73YA3jLnS|%!^>CRU#j~{&ARtQs? zzse2(k(Dea=1%2GqXv$A1PncBJ-z=4uNCCprxX>=xLFcmjl|~e`fKZq3Xdv*j-k`Q zOdnu}NUI@b=x}rtcD@l5qlUKSzLXL2K0aY&xgYR6k6cIDEQ0*1IE=UX;oBT;h&iDh zd+S~f9)d~-`qH&rDNmuh{(+9UPjCU@Zf2%d{#M9zb!WwHOB^=5(3XQsYSIrkKtV|q zSB70}&WHBA=PBa1{SZab@!0P{jzQtt7ajc#**cObMlC>|et)1*n`OGpT7{B#^3Tlm9J4#jEYma$zS0pydsVq~a{ujM77W<}|Dv&1eG& zz{1~0@Yut)xS-xC{7KH0P{he&bf9L@6dyjDc2s#(9ekm?E(Uk(sS-EopU-AB2wKqX zyH)^Ivh_o`Hz&)GCrLuvw|(dYCj`%d4#E z#96`l8^?EM#>TlD+o)m<_VIKueGnbU@JfXIilDsiPmL@?X#2qM_&aDuaF{v>NIQnD zh*MrS0OsBtvNe5slGv4~@xk0G=C}oKWYe`F$ht4Jz9w#;cIvRhkB1zVe zonYOYgehpyA-Ujm%jaujyAh^8ymr~Em>AJ zyxZ*-s3*Y_>lWs>#{?XTRgv`Aj=Ua%Kmu|+E0MTasKsWEI&c+wRyN3JL|euqIUOEjL9c~Zd-%U5T}o|jfqNmmJa2)e_daNI3!7bM z?S^zCi@Vz(S0+;f>ub)y6F1~B$7@&sUMMV8v=73NfH?6Z`!?BTHq&9Z(HqRi9lf>g zbb+rKPwi(=RfFIXW7NPX-#`T>C~2VsVCacAuw<@^27ZWz=Dhmf*w6EHTQ5br%W^&Y z3mx_=ne4hbM7}9iDXM^U-Gjm;@kCQS3otg9SRd@$f^(YfZ*Y%Z zQ2~0Sn7M1r74Q#dKEVwQY)HRsPRv>g z%pFE8jM_@-K@6&CP|lu~uAU1ad^+1yZtyolVXMEp#F5;D*4Hxd>Z8ChB?j$}#fA~4RwKiP@NaL&keae&#cIw#Fg z+l1AppdXw9F_*{3+Or=XGiS28(KWE?@+5Ix87g2G*aKOX(&1O2HrfBQ%xgtmTjoeC zMkWYC9Tk{eH~A|jyo2bGpTf3aPa(-Xs!2Dy4U{o=>vj;RwcZUZlBuCZ)WE1Df?PH! z%`GWNd1vJ#0}!l{d&g>fzDhn{BjU-X4=`=J$Fc$ zWYCTXBgaZ8S6)&4dqh9Xbz3IQ>&4XqX!12Kwp^|mFN97Q(!Ki{?5oYzm$(FFm-l%b zB)of$X*chK$M8TkO>gT;6O1S-VG^cYQ&AF5lM?ecj)&cA2n3`cI>&?h$;@z5g2U}N zyff%B4%?(Z=8~Ne+s6x=LXNCm()V$*3rf*I(LQW|r+^{b&YJIkm4Qkb73hV>=I+O# zlg=K*`cd3}~Yye^B(st!B0x+KE=Ir8!;f{(GrUt%xz;;2| zhy#&fs_)uxL7TxnO~rZEY?(AAZRRVa^lFM09TWh;ew5vL1;x>R)U-Q^p-Z zS)`7%0lVZC?JMhv(t8)7=PG6Rtc*dLPYa-{AYEE&e58T)73lk+brK511MPuy=;9~< z@P`1<<{aL^ci}6>7e%xFIm;!f_{$}o*Qzc&ZVxw0V)Ib|b@}HCC{kEJOd}(}o$|?1*I; zhs-Jmu2+y<=QAh!A`Qbz+45%595Py9U*~oY>lbM5h*WICw-ELxVHw<#^7!Jgp0Qwzzc|G2(OD?b&@_Y`7xl0p${eHjtsoDf>9mQ}NNKi*z()e8u zjT?g+rqMu5xXbWa){UYRi}%sW6vd?Hsx_!H_U#?||0Oy7E3s*vju_&$e`QN^LXS0w zZdL|%`sr9Gs)go6t^ps{K;_#9E-NxXiAnEWD_b!?FJV%Pr9bk@=CFIYKW@C4iv{xA z4q34EYnyYr47GiZL}10&;)&mRx7@G*32XkqLz=%+P+S`ZVby|to$?=~HS9%*gx?(7 z=V)6D(f=C&k0v%+#J2pxkVxBkl^_XCIivKZz?xwmG0rFkv4=&LrX-c~`8Uo=YU=p* zSE^ee*N7LDWKfH>tJ257f#q@_(Wo%zk}yu-ittKM>>h0f8EK2wK;SKTJ0Bi%^A{1lb7)q1TTCejKeaHSUarmx-(>Zba zhpZN8IK(s|F5uIP`&*edg~4XY2|6W?tO*nQLTF2G>&hf;c3ch)k7XAE;mmaNt7sdE z5&G#Q)eo@tqlXlC9oFN$rMH&>z@g8SA!NTTltS=kLV5|qEb_Fhjm!G7YtB%cv0SiK z@czc=@+a%*|6653i3`xDiEOP&0Ge^ktwU<^D{ClHXY%5qn(QDd*yM93;E5gP=7np` zB~VMDCAv?U$fg~LF@8Heq`4+A*F&^(p}H>+&xL=JIa1n`OAsOv51W9{L=xMBpCsr2I z&#)tsXxDlXk}UbX>YpRQ4?LtMFJNx%XB`s%l8vxk`2nX)kmN&uyJX4WvWWPf>NWlI zYHoP*zOZ2WO6+}}gHvJu`^PhFkk5!x6kYp8bo^AElZ$8HEDYPC z9c$F&UpK5L%NnVoH1HrQXVs!8mmeTOvVHT(P)E@X)LcP>S4UB7;oSY|pCX-X=VL8m z@44(Gp$>KEL~?m^`2U)~qz1I89$a1hFGK4*Z4gpRxG@(oO;RkV?wN&-MENRm=F+dX^c=5EQSZ!7IA00)pwDS}V6f2D2lbBOwOp zS1k*p!qD_H(Sc$)GiGdC$~~vW9l?8KXV3eqI+IIt2QubC3>{s8uGs;QfgS3K29~VyR@@#ai=HSZoRzc3L5SKWtwzd_K^^NZD00Q+{{X8Wue5qep6+ zyu4k_n1?2$$EI}vcEpZPp|0o;>2qM0Mbl78tjhPqf9F*!Q5Vt@aTl0~H*(*jVIQwQ zHZZrsa)suu>=%FXrWB;G7ne|uMN8+7QtyWid?O-6e#9Iq-_u*4iUq?$rG!e*fh=7< z|Gl)h8%<5(*`?Hs^Es1Wk=t3r1{De(LSulFO;3D8Q>ElqfIcv#*6>}$*<3&0X*rK< z*9=MCc~Nx4#Dm_$Aj6zRQ)&EMKa&L~OU>A6rE*>T`rb}CnsEo!;S{QM!n2iI1#jZ8 z7%!%r;lCp_A%>YsQ@tU94m~XYn=KSq%)yL3rs~u;f8!OW3ASQIzENS8LrE%Cu@E%O0|`)a$eoMsD3puZHj*zU^U0 zsMf>-R|xtuO{O~~^H!(CuU7RdN6ww;+Iw6ws*hd}R9Oq?kYQyG?eGSN@_K%cH+h;> z2+pQFDCAMpGJFw}T~Hj>D0|C~;s*p)R0Qp?y^lp~+DVRptBywUkBxJ$l^*e>$;d{t z6oR2G2bs#BRR$=Gl>+*#qboVBPX zZoIrU)V4~N$6UAhlz?iH0CfSvn$)}b0^?rtE_nV#FJm5G?BX965fY9-1=K#>a(mco zHlLfhmS!?O8P4kKRdOq(V{{v>cqHR~!R8^DDy=Hn&{273MO!Y8nnrxM9UnrN|89Ms zu4+=3l(+5@z1Sen#lL*k z%4R=s-gCfl&fN!1n`3I`A{EdXKu^)NII(kF?+;j70iRP5l}9ATS!=b#c}}K$H&+hTW1HoH#&s%JZ)~)a|XPvaK7PMqdHOMNgUO@#tar zD~5QWl&;2lULQtkpS)i*k|szpenFBB#VuwK3|U(b_l#E{F1}fOlhgIMmY8Y0ZJOG9#F6G}v`<7mcFNN?w3~d>&NEfG;W$)8*(174)95X) zB(vUtPji{QsA$8i7?icVL=7m&a?tK!>mW<>^RnHBP?b(J!R8DBg>T;MQNofJJZmG> z%qjH%I0jqix^8U-CH)dGa%6wot2S#`@nZ_jCT<5MaV_K$4K!UK{jZUnp`(q9P9x=8 zR^sPtyP7neE0|voZjVw%d84itOJT<3vn>!Q2*%Tj5XpeRMJ+!?-t37iIsZu;wuSfvUF+<0>I-$KS-j)>8}~uTv-+=L#^v@h%&Hdv(Q0|QnT9N8n61I^ z^8)4wOb}dpG5LY$4&Jv{ zYQwwRx3+!%bEV$qc7gE~>r32u=KjycM6pL@rWyBX)a#M>F955t8!%hm(nDpe_brc; zQGbj(soEgkvx{XPehExjMFT4Gi5G#vWLA!T(5uS;|GsZDoeP#XiR9SXsdqrJzlE*6 z*ivNg7?Z-Bs?$Xl49Pd4t>JvNID8X-A%ABTp-aC71uEA=qK5?xgN?4Y9Z^G7mj`30 zST6N7*^#Q}UUe`NwLDqyIb~N@Cx@jGe=BgJ+@a%dU?;2E;;oqbSkGu>g00Z6(<)Ivx>K z%!H%baft8lU*+ejL2AGp)rAPM{bRB_xk)%DVr9kGCA877ULE*%r`r(64{&0)hG8Z9 z#VfUf>LDY}>mr-lDu-?Eu;X>|aLU8}#xW)rs6erWGYBLQxZ3CV(h`g~MMGTNmolptZVLa`Jo^*2~e46)O^S2aZriP0omk=ounl z8dD+|E@D3|R7=!8_CwUgH&^f)oq5t_PtHK)BMIWrsbRhT1f?0&EqHdJ&0e2!4uquo z<+DJo54lDrF{2o-N~HH{py_4$F*R~NJ}T?jv6Y3)``F!XGrfe0B z(IR?IrcE-RCBmZ6;}#5g5)}6yAkj2pe%^CJekUK75Ef^@(Awsjix+2v@M03)|Ej@> zh=qkFfyHV?4$1RndoQa%HOE~>cm(3bxyq~?X-#~%P(IR~K5GBkL11h1ojXGuDLB?keFcrZGSLbl9gN+CHSg!t#!a?Tb)( zdQ#Olg)E=L6hd>X6Ie*|Gn2~ZNj9%9Uw|Z;t3f5d>rq?aDeWK0;^s6&B3M<(}mVsmEZ0L{oKO5Amogwj1E4%F@4?tq-Ky1V+8gZ zHCsIQ7)aZ^uCc*bP9q3Rcsv(zja_9J2Dmf-dwIQqKQ~G`pO{b3TXlRd7b}Wqe7<=9 z4$FmUTqw2_5HqQ9k6^TrEtc${1<+W@0UoZB$?!CZFD=lgM&O@J zoy+aOEn*T=qn*_7)d<4>zCg$Gj@`()-mBny`2e?L&LSxFEsWWcq+661Gr@&DNXad1j6ZX#w`uz>u6gKs zymBB6QDMlB5g27ptHw{i%ueqN?qZgu=uk;#i16a{h>?CTTRB~n?3Ce$qFj3|1ZOdZ zl9n}a7eR|3wbleuG=3c`%KUh4TFt1a7|Dtc^xnO}>{Snvy8SD$8ob6URkHH&84Vf~ zc$I5GDU595Lu~Y6V(@(h|_L-;2?;LMKiL|W^TbPS|hUPCfycG&PnKT znkMGBxR@5JXLhz09DS*8q0_(-HS{y&GrPy$Y8=KM9zmsWACf6-hmOq_o(Tlr$6wiw zTvQJmjO`*!5vn#$a+mD_Q-(SYUM;HLz$9Ne43`eVy&zJAn?wfU^%8|5`6|Pqm>{mT zk;}{+7!GJ1#96wgpv)eaB>WGs(w!;+vZ`10^ULy+oXL@c*0DyvOdgflhp-9NF zka6Q@cCu2-4k=n%gBumPcG;W?rByX22NKhRI8V#nnnpY@wmMgE?(u0#e`)>vwgV$Ciz!02C{zMXq7*+w6iO8?ZJT zOIx?&ci+}f{otou7&u4=33{_f<} z$d*8p6H>Nx#$`vPi#<>m!JUcfwhj<{K1q*h8z`uQbxAocDi_m~fy7R@QR?tBglM=3 zC{M*5YUG1vEl=@$r4r{R_+a34C;I>@+W03pKb>Kw&YSURBuAuKofS&r)C@xqjCb$O=Kc0Wr9@s~F#k#u^-&*{C8TjPZohC+ubB3##@4s&V z_pCX2hKvXPlW>AFVpK7YnGcqf_rE^aufg~4)qZKAC(2_c|BS?7=Qy*FGse@KfLUC!vR_yS53 z+}s}d#o48K1fuk{SLi)MK(>g0htlztzmx)vc%!KjZfJJDLIs)>;|hV$F>@0%E0Zsg zcI3woierTmvTgm9|KE`lc%JdkTHTVS=vDdkjY8gfE(hjmj zc;OR2vqs3@hB@(Wok73fpsX=p%;x@gBqwT8%zB=|9PiUj26Sww04POF3n_x|LmNFW zOyJ?c2>H)n9>V&Z8nZL7%WAtl))hPDv<<`|1D!oYqfp{!f}|W7lRm(*`}j@<#~Xf7 zGkL5Zf0u-&aHK7n%c%t2jGD)>*?)_YKFuRK;c)9Pi3izO8M4FCEJYRHvh>xmSaeI& zyHvU3=eDis77irc@kSB$;{P$>bTwT7I4S}lTflc&<0%D94(4|PafLCJ&=CKRUr?Fj zl&3Z_;U~w+YahB}^r0sSTJB749m~=(4G#D~8MEk0cp-|<^J_L){5bY0qOVJ}J<2a@ zz~E@5n{rX6BN-DlH^=+ekzQbbn?XMrWAOjL1O z!+NKhdYreAD$dg4HYr$-ZL~&F(NXqG^<+oubhz6nL&9gg_;o|FD_al|N~dk=IuUgH zf2&Nmpd;sC7Pc{McO|n7w@70=pl)K>yA^=UYaR@(6?vzvUUHo9? zG;UV7yQ&ghrpt7n>{e*i*i2qhf9&~h&A^w}vxVm-&kMRrsF{8C?nG5KQnEVb?Wyg` zXu?;Gg}L5X0zadEDpvjcOH?{P&p-#_u>1uMcOfbvne48z%R*L1&e=>p6zL0?2@F|@ z`Jqa|iltvIHAFZZ1ba7i{@~H{rgeohwAQK1G9H@3RL78>^(Ln6LoKSc;jmLNnE)@O zwZrSVkIrVzASC$*%qcmquO6YB?weZmlJfgtNP^L2Dj6&f1Kbu)&0o2ZNI|r;&$s?zHM$JedXs-!NwWymP4Th z3wWcsqpqATJ)adpQVjQ;J%71>S&}K9V&_3&prfiFy+cW1~%ZpXT5|x1yfcffD8TzaZHn!*Q|e#QNsdH;3iZO!Z-B< z84#^W1T$bj{2P&$@mh2Pd%A94c+y!ZX?Oaf;JSTATlUkric6kX*C zU$H7=bjb~6p_bGc6Nd)5DbK98Yi5kvvZ3+2bzsX2Ma%6`7z`d z)?!MT`3Yet@C3^ZrB8t%y*RuGf_ZtzWSFB8DgVP&0RTBBWsQOl=s#{}J@yaJ`uGLphnX-@(q{jg}dXljec{4+SNE zw3^+r7(p@~?>ED;c&r1irTN#@nFCnSWqxxV8RRrsoL}eA6$%{t_jo@?J>~2_izex8 z(RHCkbFe}xWR6M@8{W|L^O;RT;W~e=5|p>Q{~&*XBeQsYlfb=$rB@G3j~tS_9Ka}k z$sqIkJ)I4@51|uj?bj5J$bzBme005=T@g`Lu_Y;%%6Y_d!8U$*Y1y>#v~B9(xJj>W zshNn}npZ(<``6W!Oj04{H{PX_4c!bbnjcah}(zkv~pr)&n zsg1K7CFLA4xA8KLf2Iq7*3S7>vMvP3Nj`ecVaf*GqCioan2&Ay9^1BU+qP}nwr$(yJ+^Jz zxs{}5Dm9&+?&LS@TKmIZ?|xpow{*u$tPrv>o6YpoqPuaOE0v1Rp^^AGs}45So8V02 z%-vy8d0*=u^s;G+0(1oH9FiT^3)X{xS8%=&^|tWsqNw`oJJ-=XAdQMF9}+j1+pk?W zz=01W5t{s#|CYm~qzSW{DwO2oF_IhlV)y5Mvmkun?Xc%jTjwQ~_7F>VIR1Lz7JR*V z3+rN2vfTx_c$z5VyI9I+hLrf|Nv>2oQ@oN|H8VM2(eJ$y;AWON?}kAZDm?((ZuR85?@2GPgPz8goShT8+dJxo@;4lhBA? z&##Vy#DJdU0Y(?9Ex5i)I)GEXHsSKhu*tS1ZpBky;7C8QlSp;}eXCH0t5F|?nh)F; z?dRJJi^spcjqWIP4B=59s8|6>-K`-4t!6Ogp3KIH??-i5fx z##Bdqbgg3v6|Ai3W`xDyi6Pfdmj9bS4m9)9bL*v5vmQ4Y&+regQ>-l zfN}VGm|B&QjZzXGQd~0M$E7vRe(D25sx@}xUCEqy=X~Ip85!PWK&OVq8)hX~Zt<2X z1Vv1Q^TBnq6NR43$Y0ra0utzZ($&cMiZWSz1`XE{eYwp(K+`t>O_j)0?4farGiyx6Y z4rUJ|dlDS#A2%rm?y~XUhh!EPVgZn|=|d=u`<>53|3 z!TwFQ5rauk=;b_(rGi6&-VS+Dt`hq$7o>Jd8#}b)-Ud%P8G~)7P&E_=(CnIbzXYkj z*jA%3f*N0@&bnXqwPswwUaI_?sb%7k_=0VmYY$aR#`sSe&&7hI!6o8b$J4>sRk!-5 z=W)aqlZ+)xkv6Bjt)V@tv`$QDY6c~@d4AuGP;x*HFhL3|I=ATV6+YtXzM4)T59s_k z1g`Ng@Ex)w<$k^UNbr^{JpyAUMUjdg!NqB9ZMQBq(Y*0M17MPDc%<}S_%kfBBwg}P z5qkKj4V~O$XR=gXtOhf~$o7UP z$|%y{$bm=UeDJx&=OIFQL!u)Trk&tAAED8|SWqj&iQ+0Lrx{!l_Ua&o_|F6H8EREs zYdp0KdRvzdfDscofsiel(M$qt4c9h6I_gjnT7mfi0Li2g#Kiiu?0(_N$GNq%t+Gvb2! zD9z#c=q1j|ZC;Qp0u$<+gUQf28W?7bO%aHyM7}Pu2dn+Sz4J^|Mrd5y+=dTk0R+S+ zW4N@%yy7zs)E$Ave?y=RnkVoVtBsbCJG%;or_&KMw)i#DP9z18CX3>1|CfL%e(Xnz zaU`VM%)QtVb;W;Ong~Iy(ht?BCMC4&BR>Wt5olH($E#4Kd-b&5@%!T-P>G+ zwVhJ>?pOVtZ(=(wMj3%pziQp+m)|M#8 z%n7@vAs~DIq)S=>A^<8&jrFKMv#~tk5>!pq!FR>V5!cHfnwm;PVYSc zzFRMvC(Fj(3Ck$rs>^Xn%3CsZ)N^SoSsoYBFH949Ru(w6E8-pcsptV>Pm(|*Kr4pz z;%E`oB@{wt%p5$d3^8GYIKiWU?JNV9M#0__>_e5r=iw1Y^*_FqC=Fb8i_E~1ZTJ6_ zr8Z8c-NSjKR!AZxe5r%xnY|m--Cp|Nj=%l3V-lM1RwqH(%Og=f6Oc`yuxr2yJej#8 z`7kKR+I1;&m2AEJ?VdlBUbF)Y!5&S+)e2m30~Tv+Rh2~Rtu-2t_E^%Hm_lR>ajqR# z99B|k$*@OK;udTD$(XHaNf?x1$!9u3`~q5=DVtpFsa{Ced>Ir9A|Je61Omgv1VIcV z{-kvJ*`B;fvl&KZj%AqOoNBKXS$RH?{i@NFIOoE`eBKVE1>|MgXhQ7ZQDY(2m`hV` zL>yz&g-=eJ6dRkVui8Bi3vhr z!(~b``+lBiGFL&(RFeG@pL2>JuTmhka0#uGJ4a10 z3q>r7yCo8C4;Pk2_}FG~hG;R{X?lHZPbzBf!CB&aO!Z@@r*0qp@n3XA*k5O3I}`&n z13K5<3D#w(n0=)`le*J2NXA)t&lmz?3{Fn-7WfguP#jn06bbxO3pNoNJ95NovK}MV zviK+VT7^e8A_f8p6dFGkT)k*M;@!GOnp(%<^rgDN8Gd^Fv7vr^)K$lnvfQhzIscSz zM32UfiK|JQw%j{3%vbV_2iCtFvEt6J7!4d4$Xb6eP zH^{)Y05$aMj7^7P>_@cqEt}mpStIVhO73ZIT}vktRlNYS7UbD#FO@h=S6R^j$!*6N zM9-eH2^wpD=cwdBTcRUU9t?x(7P0sSblUt{F%X(BLvL>-ek~~iV8@w}TR)kfxx4QiY9&#sYdR3QIORPqC`>=Z6d187T^Q9OSwEMi_wAPc0f4?%mwR(Z1pmpC^Mj1z$ zH$#MUN=>G<*v?PoCra@jQCEEYWoRpa!YPw{VuD>-@t&7c8PakwMI0CkSQ5<|kO}73sl>2J z7|cVHi12&1t{-(N+!_j4JIG;Z0Ac$Zd1?j55fdChn|kdeJj1F<;^yOyA`kQ|lDBQF zP^w!4@c%|xBDmT3;K~A5&~VA#Js9m{da!61vmD_ABuRI0P)Z4A%N```ddNKc;Bjpf zg#2n0o+NEB1X$&E?|&ml2)G86dwku7=PTWHOiDN{*3Ej|5AAUlBrX0r1rsb4=QecQ z+uh}nn37JdZ4&LI?BR%*P<%(8`c>XxVE<*EBSQgu-z!Q@{q@H|{df+>)@AevX~h88 zqmzpgiFO4`PL<42iIouxW(3$G6~m|b^~&s6w_^e0^=E^WwmNtD`BAfbOK7wLduUD_ zJAQBr2#3+5-{b8nGz|5*37ltD1F&ve%0mSVY%Fnmf*0%?`-9m^0ONX%kY8eOJu~Q* zoo`QXKA0Q0y8xoRM%;m^gph*F$)DiY!aXU0&D2|Sx_Z$n;|bCYqbz`u65p3m>mkqw zMJDloAxec*f{BS%Ni+Cmxd}dL+ya;b{L?-pLK3OUNT!NN?A=I`F2>z{CQMm5d<$J& z4qN6V?tmnC$Ep;n+t&vuYKPao4iICS*zcGrVgNfMdy}Yp)ckg-7r*i+Kmnf;XMVdKCR!z)Z>dX%Vtw0y z8@b5JK91UDE7x9>*!#}-@xy#zgB!#4BF|%!W3NkYk?f1wTvbV720%DHD#hU3Mz7q! zaHrjc%n(Gj7lnG;lO}6B=q8>Oq2A&##ZrcTBZCXUnN&hFUYH8et{~o;WQPS~kA`1W z5s|Zd?_6;{sp~>m|EQt*&K?u@DTwoZeB@BtpyomP<;kO)s~Nw6P2uuz=4r>gRoZdq z3qOQY@!~N^?2#y{=vXSf|2>PO4D-io)@cI`C0V>Wmb+?_SSXBL>V6-w))j6N-5&ZutK%Dd{=pvk1>61w3){8rmaB54Yb(UQ z-nsd7Lw~ca^XV$^=`#DG&f9Ox8}j}YTsi!r*4uB|y<6?uxB3NZnyu2kZFBq;a`4-4 zW!r50e!056+xW9D`3u(S2V3-ma`yk-MB3IK;!kM3lRN%4CekIcd10%PeTY{!6)akZ z<$yF7hKPsg^%tD|RT#lA)i@dvrtNZ*`!Z+qs17qG+(iO>{ zspMs?xpUdZ{-$751|H|N!CzY6a)2z_d7XX!YsbjWL`dMA{8KKKxVQK;RVX;yon%|j zw1~ZwfDcG~stDief|s>PPv5(4V7Qv_At4YMzcqQFBZ{Fi{^Jn=+nt9R5@ zI7BW%81%9slr9Z-wYO~8SxL{C2+N*FKbT*jSEQ9DMSzQAp9GWuIGoCD1)EaG&VKm?=F%b*M=# zy^+V&NN(IOAk;TkU9o`XFIwN3$}Ez9y2TA0&V@QDxd}NVpx>CXZy(e);6rxJr=X`sa^v^BuiR_Lk@6B(Cq` zAHCJInk!IbPA`CV%cVHgmibLOCDjoXwN&tYcH2O-sRdBYxgx0co8?Y;mG#1q#WzDw z?3=VzIfQk6@X|kY>*m6`Ov&Ob8`m|;j6#EI)te(?G9-6eus_2O6hx37CZ5QwoGB1{ z2h-q2O$Fa{1+2S?HOWLbMi?%b;;{&;7Rh(5Tt2cbLp1XtN7j9MQC^;Sr+gaeOwG7g zmzv54kro7&N2!{K=S@Pgxf)S@%~!iuN5&d#z(r`#bz-E1?Yh2)1|P`Cfqwt5j*;_$ znP9_{M7x`iTm7;j3fAIi`+MC5UpeM^djFz=j;WRNEEk44bFn}=ASHe0c<6B|Qc9al zg5WKKuICp~;cTjF*SZK|+~3#0dL`#kpp0xP!2BH!tHFQwG-lAZ4HMF8x#qYrmywhq zSVV2cX)Np%DjfBtAxf_n8TO&T8U`!|p<7qV-*uc6q|*ojT5CNemD{*Jq@&3xaQ6r* z-mpsg#BI&)A6oQwpq;eSKq>(&qs-izcnO~}8R~{^EBO6PH2r9!%R9?=)L7i3pzBiT{7IgYwS~^x zU@|`ADe-Pb12b;pO6$%0Vd6h<0U0O0Y`1;sq{nxuyx&n+L-y}xdGNQ|dFwHz0BtP` z@yK%8HAte>V-{y-E6552kaei3!xkYTgSZj#q#eMp4QH_w(Pd`qmA^pN?UP(FSnHY= zJV9!e<%0E-=J=&YL9%Q;*$VpQ*QW`YN_Bng_e{w5x8oFM+c?n-S@LA{$+6tV3{GL& z{oEW$L37cAJ@h90^&xSF4OcTPX-V4ePr6eHv3Y4Kw?tD6_upUKvGy>YnVGFyTU<9V%2 zvllEgr<5yN0#9T3MPjaQ)~NCx64v5Ko{8`y{x8Gm!xr+rR(>8@Kr3@&l+T~F^UhHW zqL~`qD!>1WRW!Mf&@WHghN`Zap<1f}y3J9r#wAc9?@%&LuBmZ6=ypa`5h>FYxB6Z3 zR|8nL4~$BNinjsn*9@)(-SD$J9QHod2I$(0>#)@5W}4u2w3pKfd8#!hJ)^muC-}Gb+7iDI^fu@Z z$IvbVgZb|c0}5)`G4dJm^&HACJ|m(useX1d-ron!k19AUisCF*c@(!nlfv_^)9%2w zV902SwuUjAs3cwY9eX7xxl2u2qKG?^9tgW^%4~)V1IG{xJWLq@w0k3(&0|h>I3R|t z=*xeh(MyF|{A`$Da%LVK21&vfp-yZN>k3b%9$u|$C;~=L1NMLto?ma~v z8S!Findaa^8U3Csk8C9`Ole-FGBN`9)A!~;M&+LRRq;1nlG&#@ud$t>zl9z%SehGN zT`f6dROJHW=|_YdC3QaHoUr|lIQTbww73LiuwbZqnRaxU?+`A&Ld&8_-N;_z{b8m* zg-fkHOX4M58q|6DX0o6F_yrw<%H9YM2fo|*d#1#huxe+ucqsrngnHYb9Ej~+pJ?~r z4In6E`JZZwoMd)@0uS}~o?;#h68rTX$W7PO*;+w+I_M9JZ1>(8Ek$tPONNk@&z+rg zV&j@C`;ZEMD8eIR)wBn9GVR~3blY~dCMzp1LW$nCoVLS#br6&$>6wX$zs%{x=!3_(PA$29ph7*!j9;(cy$8?m zcq}^V%3`E~R#Wg7#kYdl*#5%$=`};!qK=;mb4JwnHndCAZvq2-Ye~CW_jaT(U%^6O z;SgQ9rG1jv$vgk_xMRJ$fL1o8MextO)KFD>bK>Mfv3A}PZ*&bo@mgrDBCs*gmKASx ziXg&)HSvm|+-Bceg!sJW7zB@%*pU$YC-;UST+DNqvQMD%{Mt0WM9(U=W z6mgjGOSxy-)h$Jut7e-W4!e-Am!=O7lr!d&2`Sl3m#*ToJHS~{KSoF5{>c0%L{R%L zzZRmYTS#51!@Xsjja+_Uh9iLP(#ow129aqk(CbZ!%dIBxJxo~316?;MMk#os1w=pnIqHPA9_9o-t(+mV&QLhvCt%GB1OdYv zJuU^<;v~AkE3q{QMi$xEY0dOShV*n>eAI20O2z=XA(o=Q+fauZ2qOhKRH0QK%-aPb z83ai!v?GW-ai9-hwM96wckJe+Ix*+7$iCD#iP&(iQ1>ua)Pqpa8~xZ~=B}_~`RQJ@ z_)-g17FVto1^ycZkQd$sE7Sa+Kq*PdNk8Epd19WN*S(@mWedio-L+PFK;)lU5dkfB zzEwN+@py`mMZ+Ob2ka$)1e%VpsH=2jmszxNhVD>H_LyD8X0%+5gW5_h-el_8CJ_0{#B|@_=HX^MY#JwTf zEAK@NknR=wk1c6(!>f?`#~_j;wK2?nrh>Tv^sXz%Yx*)XRy`~{Za1Z?A93B7rB2CZ z#{?XH5E`_as@MeNUHw{|#%x$)!V>`hdU0tok`J4eBn|$maP){jW%7ov<@=UnLAt>h z9_Tf?i9}GzcC-C*N`0$EIw4Gmx{xQgug*EF`g^B|>%<2WMeWT``FRL6v5~y zW2tXV#nn?mX{e5ywfU<37oee%UkX|IkkBeI6Xv{`0Sug0oIg@pns9O!;dav@+X+$y z?VTxrNFbh>ueZl!79heajzD6a)!iiYC9U1PHIs2l-&mX?e;5?w~mDXJ`EPAM-!w4RNcm zzb1R$(hg0%E9lHuyDlqe-;?jl>Db@)W1EUfRf)KkWGp8uSh~xqnXZEcER~@^7NlcZP1{Wym4#SpZnmX2#$}r?GZ74fVUj#;@hT_Dq5^4)nG0qkk@VQ2^^v90u&t(K zsQ%oP%2R%nez;C$4wn)*&lkTbF|BH#8q)qe(85kVI- z6PPfEo1x{!w;PPlQtbU`?gJB0?QMEOEoSI4E^|~|567q+%zg8#4Ak(LS?)I1I;Hm) zie|{XK3)T+58#{3)-cU-Sp!RKZk{aSja^XPi8hD%#RG$hg#!IPHS%WeER|#XkP+VZ z6->E%KqN0Q5dEE*=Petrkl=0Dj*pgPhTs>z4`84*Fd-OYzd!hyAE+?Jc2-i}Z;>S6 zR+RHbB!6g=^qU$oKL_^}(Sy@Jh!snkVC;il!Y8Q-7raXEf*RrQplg9bRTMh4;#x%f zN-0W=syxGA@)z&9d@<#p6CN+nx9x!8?Y1Y^aLr_=D%8li^tf7ZMD8-juw{nGL7#~` zngp%t-bF-NzKan98_{)0&wkd}iMA;JH0Q`;X5uJ;=;Oy{mK2+t&9s=KoKpl_`g+CD z+5|d+z6=tb-pN*`4?p4bvdoBmnAn_~81qZfSha|t(T26`NtiE{P1UX+|H3x(Nt^5M z()p1g-N0Om(H5-ImVcqDvlSl5ES_qU5nIX}MB2O+KH2ww$~1y3k<(8b*zCzG2_cw) z#O6lDi=K+BAWg6^di1XmQQD^p<|5Bs9}wME$~n?koiF4S%NAjCM>3x* zE{}mM)}nh42JLl9%-Uh2xi1HwVxfWOO@Y5?5t_^F`ZDB<$n$q!#M)`5NxSvSqFW{o zN9CnH;SbJqK>ajC1cd?{mLPd=u=PI5v4PEPR5Cp#z%fg>ef%6UNUV?b?tji8 zxeZbAmPbi_K#D+JNXu4mza5?0El?qExN*MHJm$q&gTL$vWwRC1J>bqGqoA|Wo+E

Op2G9CjPIfo?(`^hnVMHl0-^EiKiITkfgIpRg_ebF=G> zwdwgw7^HtJQZ%O{3cLGhPq^a~waI_iI-}hSB8bw|&XMaF*2(sk^x<%ddge?^O7nbTt?3G2BOG z8x}x`+cXOgV+GjNptR1X+IZY^YqMiE<~mW+Wlzli=>zM(*A$$LNJo>G#jc`_f0=%* zbH?o91Na5N6x~xy4#%T1T@Ywn!i(@!6B+w!mTwVpakRh2Cht@z#2vJILU6G?VbP8T zdjt9tQgnlIqf()>dTwDOUKq5Xziz{U2GNaeAO^ExbiPkrh2^ksB+AfTdeWagC1Bi2 zX=uy@H=G4K*X>CqntMU3)4d^VHANFGQ9WHV~>bU4z`o&QY3sR4ePN)2uE1rSf~ zI6AOrqwKv;S4}OW#C4EF(qqX_ls8+t$sZ{+!RgmDfldQ5og8&W43W5)2vn&$V7H7$ zZU8j%7qlz(e-`D9ftJGb#p%hU!r7c}Ltgo^h;v@C?|F>3y7)N6Njw)KTkf&&f&mK| zwt`(qw)-0^odK%H$RZ+gr|Cb$^`ibT9NfFT`h zvPYfK_1VRC1L_w;U-z^1#*{Z)DuIj+@AnG`(>-v!V5gNGn|ZxH>lV8>J!Ko;P-WZ7 zN<`X+)RNyRg{)c*vz?dm5@5fNI1N|_60yVH5W%9S>LjNAeb~-+HK#mRmHN^sByKwcPp)$_Tlz5DY$S>h#<$b9Gz#uP zX}ufX)%t61R>Y>@${lGW574RJaC#KyG!^h*l<1JEB`;q-r1Cg*JAe(>#_Gx1ImqVw zlrgbabre`l1Y5M5DUt-x=+PF--*%_Ll8ulUvI)1}uI@1$d zs`>}c_@f_X@)-Q+zdW=15qKfn95oi(deXCy+p1IIxw_D#?4KZofrnP;HLF8fD&Y#f zha1i|J|q9P%>;oLT9AC);8Cn(jwYld2N+a2?htbH;2zvglNU`zjYkwCx%Nd^XR7=j z(zmIs`Eko&+H>6df(_{S$-W0bPOVUB*wiYfz%=A_T0%_UAW!}7C?CnjHV$AVMNobz<+BF8F|+7_x}as;m^;-s~0(DX_>f;E=tN2JDK z-Kx_B(Ygy&s0Amz?m6*k21mp79`>vD`FNl`pF(?gL>l%=X9&s<;lsd}kumOCj;?HL z23ho{V@%)Zzd<#Lz!#6-!K-bcw^><+4i7HVYy!suF!2tm;463pX-FeWLBiYyYm{F* zIS5UidQ{6gA~GY1`gJP_9=iDMYS z1{UNJ2Z5$J?x>Z=TlTWITZe-(98Q6Mch9&7p9>yj>564C-D}OkY9emy_EF~<_RQEz z^wdR#s;ukzE@VV(a6aq`rEGi=IED-(+F0yfc8assx@G8ujOUw$Iky=%2RBiBn=g!-mUmlzGchC{60Kv3`pB!gy;D){B#U_})XrWM-1DK9Wkb@t4~C%yUUY7LlsM^+yB zwu``$>v_kvc>#tyqy0=@Z;d3TlSeDW8#1#v+&`ys{I3g3R?2_HsRT-f*+6IOl_^!{{K zyl@O>1;m(cvcSNlgHdykoINGU5%|^ft6PY>W2(Gwem-({K`zqqBp}kK^aXIH4BRM= zzEk^)e)U-m*V67sd>Bt2!u8*}zbw{7z4jgk?0oOcKh;hY)A$I8Z}a)RO&(diuYV9H3sG)HTlycVN(Q-H7CvgKxCaZH@u{VHpk8XKDkVX`wqUTk z1|gt(o`%}!+h3a0l;q22N3devPrtnDVheeD<5)(>;Sy4@ZH;pJ<))Y~>O-1Dk9KUt z?`sxE&g!@;`82W1|3G;E{Rcigb4IlD>+F>d*(w*fg2lhP0J`O zGdyMQcxr2DCP~xh;9xttJH)+2@eS-SkF070d(v%AJqY-xl@Rvk0-?jQ?}Smlf;gbh z9B4%gVx5P`M|vPVmKLcGjrI1S8rr8!5^pF36u`&E3VDz*p$q*1AF5}ay>uGi5N0i9 z8S{qt(Q*0M1u!pTQ(rl`<7U!d$5FO%JB#yOAQeyYcXl(w^0G`YYIS~JrrwU97$#M3 zeau^^y(K|2dl<(y{>a#Se(^1${$oP!aX}q%h~-4c))TieAgU)-Taun%d2^_`r$Rnt zcNc$aB%0XSPVODZA5)*oITV7=6DZL0mw(N)t@WGzJWSy{1tWGR=ndtZG^Yg{jAJTK z+~ud8W(rf5d9{ZU?e00*yZCsRRJ^@=c5^1P^%C(Q0%nk}HEjfBPqJdW+JS@zP<0w9 zVYh-)`;n)e+3p`;(bIG1ka`@eaLnTuRz*ggV9!j-@2F!aM3N!u#M!{_nduK-sVFYL z9)DJdvO8pITx{j~kHrVrXSuO5TnmTXd$-$w^?#tUMsj1%cvLCh$e2;CrdVhcmbW_; z7(M?aVjW_6Zeq*tZ)}wDGPMBGpI^W4kB~=kq|01(&KIdcW-GW^ntNX%s?j1qiul!P zGnwlw$q<}j^nR&&A3JBHeSF>GJIV9B{;;h0AppI!?8<^qKT+%`f`tP_#2AePsth1d zBE(?P?P%rfnm)dX9q*IVv>u@%+h?76WvToC-VmqhomHEB3^YDfcx)e@%~rBcsi%07 zAKO3OfS|MrM45Y4XbppqNz-RfItDijHjAQfEc<4PT7G71FRSwD~~V z&AB)2*Ae2rQsYP%0PMR>k}|QV58#jBW;7~!Efr4X*^>BK#}Tw6@=(@>Y=`4d$Q7<@ z!k&rMKPk_2b?vSa21|2Aeh0YFZtmh^DIUDt=^XYs#~Zp0M`Mc{k_*bY*yTOV89naCtf*9x_9 z1C+68;uhw-B4AWr;x(dCK3xDu(^B~7c7J9L=xNp*FBUYQxYLRX=284!THMkI=z4TU zs!5fCld1;^#)Te>_SPw)s+xC5#<5ughJ$;|Y1~W=BnCO2bt0=^I;7d?+jH#161RM9 zVZ?-w)@jrLZ6rxSr3ZK*OqaXJI6GZZSa?|a3mKCxJap@IjUrNMJm(!74EBmo_Jpc0 zb$=Y^wQzs60pqU&*|{{a@3hjaLB^Lj=O3txf z$tp}3wHgpa>H@c^!G<@>G}FxcFoB%ZDKohJ^WEgJ1ve1d1QG;SGd^n~L2vrQjKkd& zP-TVnEd4cQdT;4G8p5PxWo;40>Yz_~LzJledgU9-YjFTESp;I80?o970`#ufK7nPY zqeksxBVJTjv9JKB&Vb)ckKfsw4(Wv;)~jU(aCtpoSsDt+NktZkFNNTTT!6Q{MNoRr zae(#NKcje=A?<87-kZ)*7cfOh5GF8uGdbbE@GaKLvgZzuNFgcz^_Q?4hyJ+ffuqrz zDr>7k4Gpo6F25$|IAL+=EhQsJN!77liDUjLHRmNJ!Zp2nN2{QSC~ z%WB3^-OcqNq_m;eDiz5yR|&jQ^1uh#jLsh5Om^U}vQg}yJd*~ZRt&f8D1&g*&$b;^ z_44M0lvjRE*+LnLmWtaaI_%uPpLH4}BdX zy>)Eui@WEc`Vz4ThVb==@jGvg+@h^GVf%u=XizRW?=EZIXzKG(-EqH1awh;se}cSr z_L*!#gx~bscen|CTN~UAE!PfWv40s53$Qw;N$k|wD9&|lxE<9e2z&@|r|WE)e6lF( zd$S{SLVKZ*f!n66d9;3Fn%o>{#{z~A4@=z!rm0N4ir))yYc>ClFquAQV#ULai8?R7 z_St|azZcaf8>=_Y3AUD z=E>kKB$Zz#R|g!Xjh?uFd*!n*yADad*-__Ym=O_CL@nJT+aP5q#FNJe$AH$R98UBk zmRLyV@iM_A;xlyGd??efl?7ZmZLeN{X-1py^R4Kn4uE ztTkW=VuX=BO5L>sV>N^~(LT23-JgPL&xzFg3PX16GQUbg&)DgqaxaM?PCDF;dn$D_ zKF+QY;cx^>t}THMt`~wqhYHY9((wlj#RWcJ)-p1%!K!B&VwyE(PJ41{QkD_S;PkdM z`ej+lxtXkZIsmB(O!?-&q<{(7Q-xc0hz20sUf)@Z?!#k^Xw_89fUkEH?JdZ7uPaFp zDnsTSYXH6}n=%g{q13cH=8R>c2rw0sP?xgJzG(-&$aY4R&OAmf>I`I$zvPaDBIyw~ zP4#^pT&Qax+|whp;w)}2-HIOL7)x`N)*0SGC7?0@^kXIJuvgclfwKlYPd_fyA~f*t ziy+}va1a3)wOO`SVb&3iiXiU^m^9xQ>o1rBOEY!+PWPee%=Hvflv6laa;(AVgEM3z2W>TUc^cWQdsm+c|b#E!n;lp}el^x*Z)* z$8C&8>;eI$A>Ae3UytSjt>Lc&MOxE#r(-^jQ$j7b@Rx%S8Jjl%nC3wont~c<))f0Z zwI6~)`xi`h!_*GRM@%U4k^ir;Xjyv@d?!ObDEzQ0u(q$n&C3mJD`|GABDLbYyHBUoU-o-APy^(&BnoK;o1lA zSf3QWPxySH$YJsxWExKM9j``hoHDuiomPdvd2`Lp%3Z>E?e$QbOi<}+F0wp=*_Dc8 z(6uD@n6<{LBl;{^gdvw_oHoJzT1dde<2D;+=akZh%XCacjBa(~DVXAl36Vhf-^$y_ zBAZ%dYcIJLonz$5{o~e^|M0#)mX#J#|Eh@OKqE{*{>$ON70hz*>DwtG52KJ_Y`b881|Av0(>p!+OWceg43ti(Fh9u@dqSCq8w5>Czd6@AttF;EBD zdjOz5)UZhX#pgSoaMx40*K^~+!pTqcmOxs^Z}JRGk&zLKrnsk|ST&%fi!_SA$Cn&; zOlrIgL_(sVu$6aq?vjXx&C7IT8Sul|1ZUz9e)TfgtUh*4QZl>w=%|%D&z__YhI_D$ zijq-Qz2usg>`zH;EbRErgbEWN)`QC69jm4+ z#@4NARH?LUBsW1kL^f?Q8fZu_z8b6UMM{6&-`kPsR^tSzmIxSB|NBDlZjjig+Nt+XC5!EwY55M6lbdr~LXPb+bPuaH(bXZd zv`a%xn}l=S+^fF&mG(rfXm=?Pwax7Ma1Rl*?b_WHo_`w)ncX;Irr@EQHG0{lUCC4i zUveDm83Q00>`Im;by%-W)t)dUy{ZwEsYB zBa_{AvGjK`34YY`nN~{JGR)L_JX5V>yKNuh35j9Sc@pwS=4)_~>xQX9Mh%h4Be-90 zphaVvKp(P9zHb8;**UOdfjuVSFxx2te8VP`bd2qhLqqKtF>$2yyYeQxX{<{Azp=yS!Wc)AzgAV!i`wwI$q2?((n&&2H z1eoY*dHiv|8r4{}@V#rciGrnN<$L!>N!xY75=H4WxfF?yKFo)+BO}urE@uBDj=^BCryc0D<(iK}kSYqbrbk?qoq1%h-e$C-Fn1 zLvsZ49TuiDgLPeT5dJwk-sa5auCORTl`Q7-yPwp!jWA_jPT((%_Uii?uNW^yl_$Nu zmITZ`!eE9JLtXQq-Fg7CVg$Sns5Znl$>3dfybDC?yHrX_PoFk2X*L=A=DfOQagAh) zjc|V4M^vgGqBF^NfQApIYxUS!zBkUMk`^@t9$~fJ?n3h6CEcG0Xt$XGHE5P!TG?`& z{U7WTG*;KjJ(`J+5n4!b|D^H>^qHik6+8QHUE7J$l%mZ zw?ZkyDopve6xO!g;9%K|k(#%^F^FGzlUdOS3BAH){r>QFrI1o?njuPX9xqW;Q{|gW%tyiS=c3LIBnau%}U#qwrv}4+O}=mcBRcq+qR}+dSW6vqQ8Sa-#=il zC)T>|%1UFq9Y#@UZL!JE87MZ5u0jrII?`8#y6?gq%>oX7B z*5sjcwxJ(utAGsOYs*Bu4rK!f>Clu;xZwW2|L-{A-4MAV65_YS?3#Q*Nvp)2`zbvW zn2*f0VW_BXhHn)trB&Fwt>rCAR*W!;HLl>toU4{Ey zveFYxT4(1bGNZ4flga9;V`Q;{JX1U1^`ayaZ0gBS(05};l-}f~x=H_o(abk=-n_9r zV?tL3J$Z|X2@_@|%pE?5>L)wYe<-;n9FeAP(yHkFrO0(dV%7dSz(fYj_O+v4vgEv& z+w2TLQBb@|oTfMk*e~7jR9=_a9nei5J!@)v0?8 z^cOxlN5w$Kv*mc!6DBumnmx)bad7?dFOF8+oL`hx>4;7WZ~~=Z`B59 z-oAQz%?ot=QU+&XT$_Dov4~`70z9mI+&yaqR@rwIUgLoVXxe#Q`_qADt_5bKmg~XH zKb@9ONP8YiP5fG8nxU7rp@uaLd-fIGfQA{%#<3FsNQ(D-t53 zI;r%dsrnxYC=m;lv$@(k)NS(&B?S+zA*H0|FHe*PuS&n%@i&NVhUUhV22QrzZr}#* z!QJVJu}8t+^==~|smZ`ejkmcyr5Pz8uDX~S-d$}6Z}LM3GTqoIz3Gh1%QQcf^%DlB z!Kz3@0}QZ&QlH=LxmNp}#`CuG2o756l@B(I*%W_%u!P3R@@F=fyxN)aLN@>sNmV#B z62Gy4Ng7<*-Ar@n9PN_!;{U|p+;GSQ+LgWRNH6Y&)jh0;q;X47&4WHWoIbop*JN;L zvq9)=2ZW+O*1$#~wI6o%A~^wB&swU7OIuv@`~(sEI3Q)yivP+#0|)=xHt7pfkQys% zP`gxtl6F29YUSAqR&kgG{%O*A-6$G%(~`%sGz5l~Ksu_rN=E!X<`82+gVzrrlH8jD z_!m`Kt404N_`$je05MC-Lc~dx47iA`xg|6}=;=^q=bf!8F@Vb?Ve<;rODEb{K9l9f zA=u0}mpSThlu|zU!E{UnBiO)ZWY{;#!f=Hr{!rFmum5KS^ok327S{bao3Pt|g_&a4 z=YxO$52h1>LG(%Lk4X{_s>7F5i36J7rYFrx8)NJbR)zEV`Jl}}R$z0EzG5`fuqw8T zbl&Ic$JmbD9;Z&3dca7q1rmq%@*n!^C{K)(;Otd(3BivYbMdxs;l#`D=rs z&nGCaHw(t?8&x%J*4!G&q*cODtvD3xN46fqfh&Y!YKOs)61q__f9QQyx|U!|sG1(P z8K?g)Ic%Dii8@b1UVanWx?weH>EMqf_KsN#y4)RNfXm+#iF10*9)0gD%{7^Bz&0_V z(mx60yORAkta782DM4F>B2n8_84ph$KR&B>Mb2CSU` z@ULGs%J{BVA@{;3a+4<0xXJSK)U{;;4};`Wdo?kcJgh*h~&&ghuIC8 zsA!sS&sgd#)C;VcFPcaWao`c{;BDbyc)FV7OY#B0GVn~XG^xBFzMK9BONAV*C z`2v~C;6uy)Ylpzpq&3?JbyI54PM7yi{70ImqN*bAy49zlCF$vZWAX3f~+Kt1{*vy7$nS(lr+~=b11m&|F3V z6f@aaU8V@|&oz@bpQZ(yX}YmVy&ceOxqFmV!ZQD)?#i|CB3S}CdO!j`j9bo8X~-K0 zMzN}AS^HxFjn#Zgj(i^d4og_$O%$hCvIX*q2xm^-n-mC`t2g|0%TQ4%SDx?s*fF(} zbNDAp+)6p$UmXR#KxC6@l-aoK1T6#RFA}AQ;9r)c8$EDC3UhQWPbiOi4JTj@u`T#S z$uQW=^DPR2bT3OZl4q*+I4(>edh=*tjUZO40_1&v#4;D$qJJgf^K*#7ED_Z{V&#O? zF591G{}s1yh+|29SX)lQf|-^HxlezvOy5k|1YAc&zF*1 z{I;k2LV*^*OymRDz6yr%inbxj!_KegncDPOdfG4S2~vFRobt$W#8%SVFsMe0?TvDn z0->kyv4acW$UeMRbdzMFU|jv>*+$dWESLRWFBG7 z_8jKerm^S@jrMMM%H~?kAFjM$(VG07CM<{h>Rl#YQy%ev1_n#PyGg8L_K-wFWhz;f|$bwYUgQ>gK>wcJb`jezrL&wWn@^Nn6rEc#(&BrRG(re z<0_k~fNt6i+?SUAg2B8GG~?&7a8wg8z4N!=U)F8Fee-a+@<@J;IYi-}mkMd(EOwh) zjtqjkzwm(At~jvlDZLh~OznkeNi~y8k3Yc?K~2;0Qx|o&a6qyZOM?5)HB3o;XK6SZiX^U0(;5YCYuOVU93TLRJn}t4Of}nc>)C&$XG>DXG2Oc zy8fe?jHT4Q_l>+g8E>!faVH=BUpR2{!mIcZFm62EvnnK4dsDC0QRp!ae$YfM-7u@n zgI_!8c4zw{2B%>otmbsP>Z`+`0bDm3#Ijh}wv;G99J80IeP0xJJijdeLT)&HT;5wU z1CRNCG=iIh5%I^)-=HAg1;YF&X6}_3?DG4hHxvCjyLwyO6uW&zUrRgFl##d-Ix2x8 zy(@5$Qq0xwFwhS0XE7k9*A&Vq4uY&}D5IaK z?)_Kd>_>V-qSWgQ*yzR@UV?%OKLIbSR6@b4r{ekRwWjf2ZVzne+)B$3Hi+9GVyDmb zcX*%arPj@j{oWm}SgO`l3Z9#e5ZAG;b~5Kc2x zkAm&JRMI?^3K1s~kw-~ZbI0X%DFw<&7Qb&|Dn32u#(FLgL{i!*NxgbpLpJMvNDp=& zJrn(Op+5XAGndO3z0E0HUL>?LmO#g(3bGX)68IOY#OD|>C(DCmy^PJLL=-i7)!qAO zvH`sKep3OW0We-@px&khJ1j3@Gee0s)(_k^I$qG)8+c??=-PF_;~{5;mouBIzB`LY zioLL&DPeA%Tp%B^5SaY?OjfLA&^#h<#i_*Zu!@j=(&!bsJDJA9HdP>lG8tqZoEC3Z zGP6%obs&PoMetV_E|(1QHe>FR1?VUTW>9_Zw(V-ACrGA%_VJeXKh6P9=Z7u=_ zk|VEU^CY5i(stM`$N7>^Xxl}*kZ2NN`rZ|7=o-tu=+1wKny7Ys{+6Jg(oH^x^%(pMyP=$Uvz5_T$6|KX2(mIkW z4AP1zI0ZpPX1^TTCI1Rpr(!K-m~Hf3k!_|*J_2K!!JtB-T?Eyzb2T{jsqB%@q?v#5h=_<2Kkg7_ zhVG3_rkfSiy>NcUzxHAp0+-?3FYnJhd7VusNh!`XahVcI{G?6AxK7!i?f$^_c%(cR zig&Gy`?p;PCQqk&`2MgsbIAIP#oe5Lw#3AmN!GOYdVQ1spkDrHNap5Ue;gAHqF&J2DwmEv=!B1rn0%+1Qy?FK0+KVp2^j>YdVSal>l@%`pnMdmno0R+5Q|W!C@P5WDyV7Cu zu=HBa-k~{EfsmyNN&`VZC?HiwK<#v$ikz#&}4Xu!RM1xN@F-p`Gfp|T4 zj&|*vUxtNgjQBuIC{aI`;qO$P2yGFs#b?=v0m`m+iP)&^ppF%{f#ODH%82oPa|Tty;zew31p?<;65TO8vA`6dE~YuJ13!Ifk_bD}wCR)bTyzAeSRLw}|eio=(t z1VQwV!Hyl?PI#->KkC^IP!Yeam6`jF*)6HK`Cia63!pd;Ov<)ZSXz%) zODiIzO&-;xy>Tz1J=GwfxpN=7#}%rLEQHI3ThH=y=N>AsOzp~VTw@TDJ=B(UCGuHk zVNQy|iO^{jm}OM(+fnrv%_ApNIwd{^k$Y0se}z#{FcR*AyY0jEq+g|BJBRV()=6^` zw>b|0VF;?1fdPjsQtC*%*Jgh42*TcV$vT`_s#?ln3ARvEzO$i%m)MOO+%rlF8XlIx zI_H?h&P)u@)Ig*ufp4+H;C+A9C9S=>*6XP)bwNrWn6#s&H45S+4+FmMU9* zyFg+Vb}lpka_sPfxl@C(Z*qPlZdmHZKP+H9vtM)_8KQd3>1(kdOeL#YX9u2y&Lt@u zA|@dee8&`ECgfmN&^O97mFt#PpEDwV41d9U%({o}$wC~5Kk&HwPXWg=2P^&wzXe~! z&ykSji6y^Wtdv>}WS_?_tL=n_mRIr?`v=*tu%tW}b*<{YoBB$}aSgl^_V z>bi{oC{dEFQAEJtRfCb=-pT-iX7wID93?Yg$k1e(caDMP(eYVonA2M_mHQC|o514( zokv)gBw7Q@05Nry9SA~W^B(f?4Eu2;Y6aT?O+47<6!5j7SF5^#XSYBV;&jZ%5S#Hz z%Wc0~NL>HER8bOncvjj~#i6$TuHwr^q2L{=B(zOUPu*9S(cBThoe;2~b|nr-SZg@u zemPi>2tW*pi~B)Jr%RZ|n|9_?%Zg|y7|MO6;Z46vtH=JrDVQ13WNi^JOFc{DLoY`c zm-b-Nb5wc#uEGQjjiFq$Y!N!kyA@_#92gEu5Q#R3TT|iP5~W+>Yrd-b9*H2auBIRC zb6B`-HIhrl;Wwk|o(J!am5Kle_)kTqjcW9d+bIM2>b=kR?GH)%JeDSldZ&RBa$H4s z1|-6L;2ZtXmJCedNpGd^0C%4qEqa10vosTLFX-;NRpw>sv|%Q;BqBYg7Es&d9k(r= z)ky_6Iu~K0rg=s_tj-!E&twAUvf6%^m+=P|^pv)#$v zStND*CA%LEoL^jflV`;(X55l?5n=W3!*s~KP2jz zlaqTol!X}=vX|UI{eL2q^h-iVBj%!4W^K^cw-_3iv8#f|pPNPvFY1Yu&5t8gXb>mn zt%25p`)|6?8{-%EdwYmOS?MM}&i5ZMLOgF#+M&0SZGDd-MiH)8jq^f2M z*CNpVrydB_WfXfp4R1FT6V_+fNIyE@iH5q2e0s0FC&+DhIB4_&Ni4JId>esSY;P&{ z%zsZI5TLjvqhOnz zq-AGm`D)nW4oo*;{AgE`8D#{My5t6IK#rh7SdDjnf`5cppA??dDf6)IK5jwq)ll?) zfS2<-?rk4KjsZ|&f$LV9WtqkqX97`z^-%I!s(Uc$s9;C7`VC~n;s6#&Xx z3JZyZSgh2c-_V&j74+?wO+5STP_B;sO|SvH+{w#yIT^G_;D}+KJ!M~5CcATQPHVB> z|J_2h7iG%RD1z%j#NQZtX;*ku;R)|9QkT5AL-|=lO`}z&HY;$ywjwEad0nCn4vVAO zet3r<-jUWAr~^ZMgDi!Ew4ExT`@>p@_jIaG z!{X+y$dl)GqscNw2NrjHNK5(Y?z4BQltqDzU5|)FUBH#-ha+W{qx5m>*z%od&(jS8 zF4b;^Z<_o0`^T7Xb|pO<`7r{KM)a)>^*wX91qI)=SH=n;+{_*F8~T}*61Vy5V$h7D zG(t?a!`D0iA2^l7^s#4ffsbcCF%YwmT%n3ba|V5KK2A?*7Yl_-0IFw$A1~Zt)Rs)a#m@&tYs1Z1GZ-S*%a!vVPaYKgn564=!A+vs}Uj(3sdp}gt_Y!*d*xadExaV{6UEa&gE_8fdz z&u-fPXj}VjEIw~g{rjj9u$fQ$VV}3D_r1mS)#> zZEFp96VMbbXMeAE>uel1e=~SNGC6FHLd2RO6!KQCpn6njJuPQ&|99bAA`wyxaK$>E zu;(+*EqbBYL00b|df!AK*R*>qwy*`^3p_8Yclc4(F%?W$2&9IqyGo(R+a>dPrbKZX zupeR+_E=d8ZKsmBED~q&KP>sBDv=O5C5zAX@Ko@xbJzhI6L#Bc)XSh+F-&jj0KWE@ zdce05b8Hd#w}=(@rzt&>DHZOycX?7$O-%7;C*d03T5X{5pH(T>vJG~EKvsHkWi67P zuxDL$`1LNMm6D@cEGDp`Y=JOkJ1Joaz))7u+T_cGgOsA*(?4HXf6ctZwJvd+;M>$o zRy=e||5|W0L8@C*r(|ZgxvUjd>;lC>%j0kG;!UI5*l&=l6tMR-yzH~#^8wcth~HKF zc|0TKsr&e!O+O}zR#m6?F?#{-LF%POt2{40;C=4jOm)R<-z5b_`B?C7tfVQSV@`T> z#A30f`J8n%PpQlKOSRwd?NN^zpa!Y_U|2COB$dbk4ZUBnT;7kLZOfcT{!TtE)4WXg zrH>Yi>~R_#)vY_c$I*ts4#u%F)`^4j>YoCSpWPz4Ii%o0t$Oz0_<3;8+>lyc1h?x4wYC^Hk~X3mwj%mTl_@cXs_2t>Hz{3L=aP8vwy-+r-) zM)uyK3c*x19#1bZ$L*a3gI5E$ov55hgPhNvA7M&_C#ypzP2*>$#%#j1farF!`7$b9 z#49yC_s86Pm3KDjveX1S_EO{7zV;VdX|xB77&%y?5HGfs3P^QkHk*1AbMC=EoUiz8J zS8V{H=x-f!mNTU3MBqTOMRknHk06qf_`9bTpNYti12DrgyKekfs6Kdd1`9^fob_84 zgGd|R#Jidhj9ZWS1hRS8)hi*`Wooxw=;~&n7aV|vV=YR$8~v{9S#*|$Q(!@0OftLZ zbWB0%2dzo4OxJ<+pB^!;1$BYFA|g%dIw*Cii&Tg+>0Nb z;C6dgiSaw^48xtXXb4j>nq4x4 zDAfz7S|kU$<}b&T4W#70Gx@~BYtZBt%W5Ci=y^9?KSAhS#^p2$@FVW~FQn}9ZeA|> zIIUJPgG?&Fk5!e_pqC$Dl|FeQk&^dFr4o-tR|D#MzKIK9e8g^|OBq;k3A*j^>aZlk zU)o52S8s}y&)EXtX)W4NvHR`1ccK?~ZPxoDr_*BoU{aj<=XI5X3~&&oAr86m{1~9C zq>DXqTF9Xgcy`AsLn0C!Fiw9T45bFYkzRy z-B1l1+}cY`?bL=bE=cx)8%o)&9?K+^vt}RsJ5ZzI4}OtE(VZS8V?079kB}>>fz`I` zxz^Z;+N^{S!Rbkh;d94MjIBEFE*Mj|aW0spa!tIQBz>kMfw$^gpvZxBw--Jx&5>~` zr79^b{h`EkA_6>3W`|Z2lW7r^Fjt3u5C|%IPG;2G414aujidR`(j(@L@s33@>e&-_ zkti00vM%ZnBI>7csFh}Xg?NmZ5ah9uk33{@1Oy#qKz_6)|C^g#P<#Zh-di3+I%1GY z#{cBvUxcOV#Td^njq9_>s?I|dImdj6Loz zNXqgFGwY}Cp^l(^<;l^TxcxOeWvsZXqATL5NmIkLMT9pd8g&$- zzbCrm?G><~kw~3#spw)kPf8Tjn~KRC&3dH;6$xVP#!JPK-X&*Wd>D z4VPjy2m)Hxn(QRS?aeW4tK%Jl#+;~0rjg5vm&TTb8?Mc#ZOT2gJ;$d^%p`W@DiNsC zb0M`{)PG4=*SS>WQW7}SK_eKc{cTk|~J1fZMrpa#pd z{9SJpPI#?vX)GuBGvS({U19bg zs5S}LtOs8$Y8r+}^%<4uv|C4S&4*&x_f52F)-S%*Z`JjgFU7nP{ChU7EA@FQTv(eI znmWLiquhE1$Fv7+9gdqO%t=UVSJITOC83{M&ZFzi;f9}^k2B@=J@v8jUS8dmRzYSV zh2?Ej#2WbHhu}488F`gdF@4vDUoK-PoM5ojQe$$_-c?T??#u)S-V)BR%bwR*Qr^>< z=KjnlTHy(jz(3||7bFk~as8MvDG1iPHBYw0&=@>QeBvsIpd%qs!kyc3m+rk2kMbqM zsib}Xlnw<5P8wI9@b5SHT{VxP83#krV>5ELM&vGHFXmmMQr+Z=P^a*V_K)a35e_zEQ-rCOs8yH4iq`K}ufJuTn zx~6lgJh@clu`i&~OEl@K*Jy-0uM)IfR>o9X%~xP=9>yQ*nL^eReB}1%res?im$k*KxzwGq&cJ%$wjhNi zd1TvI=Bg;Hbx->r621p>lJB?2dAD3bcNUbKqxC4Dlm|D5>oHXx4PskF?4)7iWyP#n zcyqJl)|p=12IH>e{5T8`css2uL^Gb2StOObeU_;zt&U301~v4Iw8)9;b<2`S zhVX*p*J+69fl_ZIYe0pamV^FYd7D&czN^{K8QMAyRX;v$`aP4xLoBMboV7yzs~a47dpVs^YiLR@fPC#D zGODfTq`hNu#QoL^z>_Ab#!lW@p)Gfgm;YA&ss93559-y`ZHg@Y?c=lAs!*@jTQ%)Nv==jQ%0t73 zg3j|8ig$5+jAQjbwwufE!aFKY4w z&8}Y*oDikr&(fFHSs5k8yB2@{Z{*Hr5K*)IVtorS)y>*dU2`wJ3yL!&!wc-6*it?W zU&!(Pvj@36`5A$8EV|L;pL)rpzXad5$6Y|K)?&#tfn5)xM%=lGkrIS}clJ1V|d!wSTV{2r!~5Cx=P_gzb?czC=t zkm@9gz*RohH;sBI`%|7Wz;;h{M0szaBKqi)^Q3W!cu99F?VCY@{}f6bUij=K1Q7FD zbuJ+!>5^?2y>jesE0uTDOsT5c^Jf`L;~o~P6bB2Y6`R;$JG49N!n}_{Uv!kD_y-sf z)zNqvjq{x1p&^i_NqO+b;YN%8OTE~(rb^40ZOUdibZ1R78p@h^p$W4D=&mc1A9wyc ze%w4C>3!73eVlDv=S<`_yXGudbwDRi(kd|W9MAH22SPO6-5?~=Xc37cHMSNw)=A5G z8#p}@0A_2LF6!Za;gd?)v1J6fBpllTyNICXBOAag`f)VMWF@f6rBQpWskG_GpyO(n zhh;xX%DItq8jlpYEXK-u1s`NPY8L**6Le>R;kU~iCWt2YLG&_(K<}fgvbeJSAB#Y?25Q8Oy zr;(b_4G(w(daD`>`VbaYrqp>8$A8O2T*FIKu_zU&&P3+V`qa~pv0W$iJOA1w<<#*F z6g9(5uU36awHic9`B%VBz*OBjk@3Fp6Hr=7 z{h?ZjEaYcNtl4}iIonhHS~faIzC=LRzTzwShWU!_`a37aLG_&ux%cAp@v7xI8#LSt z`6z!%1zr00`1I4-rqN;7UDiH{4&h104`1d4;pIAqi{oFxCqXE&9b;w|Eq|!eKbjB) zv?sd#g}jigK`a}u^+P5;xM9iuO*z#VWXnOWb+Av{TRbZB z8MO_?au=Q+4}jZJ|LiyZ&S1)V$Noaa2~fmaw&cKDV?O&3p6BFdSdmkv3^@NW||a3t&QjgUZaDIvF;u zo7}UJeWqDl<(Yx(>AL>xL(ypHmF{cnsm?P9%v(qp?JfD2O}GZ)cY20(u^*!i$8rxu zC*0@5!q`%rrXUI4PBnNGKf54ltgvOg(x^ZxT=8bjj#n&QDa92ydqP034wcIjIIQ;V zS5&_@^T(LVQDwe?)U27;)%=RLIsE0x)uBi0oW>Vnry1_55Tl{Ps-5fAK)TVvRKg*u z>F3iYM7cnaMG)Hm>`&R6Imy>CMsFUbn$C-PH`14`q&Hhl`0v`9Tg9TuOqOdVsBHj= zI^e7o2Md#aO%LEczkUG23xjn<@(af&&Khend4@I)9}U5ynjVw+lwr^oigM|0(?^hv z$d=Jb8u-4@;Q%tIfSCZFsK;OC&|DP?6M~lg51|P3*vXcL#O(4IG(4Mw_$(&uXUAGE z*;n+BK{tbYPbwbR=>Z6-v9jO4K_Tp`LvYw+ehZ_@sY|%(ej!1!HMapm2L}v9UT#k+ zHSR|s`W>xcWQjE-#rm0kd4*iq81ugePxT3%OM~gnY3#K@C3i*D$Vmjh2tg3h{Q)*Dr8b&WcK@?um4HD$_ICd8*Zg z2TH~m-0Om>T*eQJMPSV6FeAYm(?QG+!V zEQipkZxLA$*5Tc_%g^?06-xmvQvSZox3<%UiCoA2S05G}RK+m?WL#I+cRyx??2{nG zVO(6nkI3ekmUOyjMuR%M9BH;w@d;8Yj0WM`^3;>~x_mw1%RVr^JGo~tbS{4P>PX0_ z4jDY(%~pe9twY^8JQj+2ocrAg_&=U_(2R#S2OjUCc*F%T9I|a2jCd%`vLjm`Enk9x zzj8RmxTExs$fT^f>x4uKFpy2%Qy?z*OJjlC`)N0pMGnFKMG6pgXnu4F90>TYrz00@ z#(NfW4~;91H4UBdNcn&HNkxvJW`4?n+7&%FhmekP=Ut1}x;=hd=cAFr1$q}s>7cGk z|HyL@YyDUfJ$<8dvBPTl1IKiC;*(Hw89iI)?%s>ae2~EKQN;>!mU!K|yg;I^#i1TF zJ6o;YWD^VXO+Dw}zoGNz7NTsnhIl`BJ1>u}iXt2KYhJLe5g4xDE&k9C32iJ=cA|Xs zpjn86@G;+J>a>r`y#4-uBA}|#l=~MEUB4Cw+>>9rk067%@Gjfb93<~~39C!`;r3M# z!80nY3f~KG2_*B-`nB}r)#>1lax3Ex12Q&@jo5RF-Usdm2ZA8f#2&|l-iJZ(CF&y3 zv$us14xqox@v&|=Wsz(nW0TK7crpL9TC7ey$7GC4&$LHH!V@}4CBz@2Y&1Syxouel z$cVlRHzNG8rgwoYKp&4)!sd$bZOc*gfb1Z^I~gF^`hu64 z-v@UMYI7{^_G{DyHw^t;E1v z@InkurF{DOB>F1?;_66B0IK$P42!;)5oBQK{Me2AVLtLe7y~C)%nJ6iBqezOyT@^k z>`)Ja?<56i)0d-MV5PX6lS`|QGV611uK<`v4kB)M@VTVfuS(T;(gj96g_x$dsK>2A z+*M0!G0J!5m6ufKF8Q&?2cd7V?qbP|?cN`NB3`q^IZ_HHfDpvfG1U-|{y)=F~K0 z$dcw{Q|}aGY2cMdT{cP;bXX7){SBrF6q@JZ%~py@7oO3p<}TU5VO^bAfoQ(x-%tg& zhyMhn z(a0w1t1Mmg+#Py!s@8{6xO;}|v;6%uZxTQFxd1#GgMOb(4HaR!sgTCmA4tgoAsWWb z9Uih9?a&qgGq*n+{kSW*oM{Ki){&dTiOmh>dm`5^6I7Kp3VNA2{Z-4b?ODL-uTNVW z#4We%Y?1OSgX1y6#6l}apxF8RwN#NIFs&BjebH~{=8iZC-!72KL@i@DK zltcA9tofX1UKiC__T``Lugy&G zKn~M7BXf0#&p0JS5Q5arqoedir)I1^2cEt&)GU)%mhc=PQXMVXu+_a8P99R)p-q}R z&ENf%Re7MeZy#skXSi9U+&rNxUu)*{_KV@}9nu>`PQE15B<=l(GJ_hBfz~VyCK}oFn5so#3-BOjBOHG{eEO_=+kGm<+18f zo2Z0KT+FA{6daa&lH0utAN|M>$gah+wThJxrj^RWx71uJGZiw;(nW?>{f293vSTVopzk;16IUFpNo(S?%L zbx#c!7I@fT-0t*ZG`g|rC(IhL&O`XBsj!)%rm@sPr!Cd6HQ~btB`DV|fO%c1r`*bB z!a?Q!E~`)=XDS7W?POQ!q7yd9$KyS)a9){MNO57p;u`XFU&b;l%_`2-2VEk%PC|_T z0PyYgmJZV^TFbMP4-ccAIv&ue$ZL=jwi8lXrFPav;Dj6Zr~!g=V`8&0_Tjts5kSEi z{lY?3OFK|TP#DY8(QVKsjFy-8o-$`{rcwv~W(+As`7qtRB#j4|%aA=x25J{&Zx@Zd zLrqTdJFXAF)0;$tW7Q6Dj#&ef>S-j+RDGul{6f}~g5(=gXQUW;3l?wJF>@9#_ws9z z0Y3IZQ>BSP3Dr0Mwg`d|xJ9hPde2Oz+Ghu~kz(Gee$lBd5QJl3$P+~lBv%JE8`bNZ zY1PC~k4?C3E+f7)dwHb)c+?KZt#XKd5huvTYgZb6w#+1ao=Q0(?hM=&73hYu6mVs` znhk%d2Qz+dco;{TL#tbTn^RCR4bTVVYqyccJZ_RJvqy;(xM_2u`$|@@!`7o`Cj0E! zb5>miG6>>fn1zN?qK5J9El|FGXUf0bFYNg8)X0C&64z_dTER+`d zb0Bju37EmIE+yYV(4%h~$vrBZ%5G@hq1_T=XwmiRqM18!w2!7L$UwZg^b~|4XSZ7A9=@xib#^oNe>Eey*_~Wlp7k zNHjJJS6CQVHpA%&dkW}-#AQe13HcD$pkOJs^44!bwwrKSS~WBR`)SnQHzh@0Fhcg2 zV9u_i?^+u^bNPP6fK;*|2{axEV{>NQpvt!1`wWs8)b)odXqV-mzXZ+ndJ;(45e=uTy@HpL-<3XTmk85r6 zhRU_HsS?oGoOyLFxqV}`h-|R@w1a$X9wQU5w*cg~1F85Ut#BH#uHJOg0sPa!AHI9w zuP|=(;wTUwp2F?3vm$v9wVi5>Jjt0O83Yd$MjihVB3LN)GU&5;BxcLX`{+~u1y+HI zD+%H+K(J21!NV4!kJ6JL3JYppHehkHUa!p}tGM>jD^`7oG=^`T{WP0^b1Yb-FRo5F zp(0az-TKK~j}fJEZ_<%aQ>=MO60R`LpI9OB9B~&;E{f)TtQ{zKQVRLvT?8}8;on*l zMPtC5{}Jg0Uuh9X4^(dyPUT$2%smVz`$3E8#)&2($6YD+bOV diff --git a/installer-resources/src/main/resources/bitrock/images/alfresco.ico b/installer-resources/src/main/resources/bitrock/images/alfresco.ico deleted file mode 100644 index a1c289088accaa33d8d3f8d54b92e88e602a3b91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353118 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

kz&}qnDK}%IC(VRX+_pmKyLYhz6 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 diff --git a/installer-resources/src/main/resources/bitrock/java-properties.xml b/installer-resources/src/main/resources/bitrock/java-properties.xml deleted file mode 100644 index c444a99fab..0000000000 --- a/installer-resources/src/main/resources/bitrock/java-properties.xml +++ /dev/null @@ -1,36 +0,0 @@ - - javawriteproperties - //Java Write Properties - 0 - 0 - 1 - - - - - ${installdir}/properties.ini -
Java
- java_home_directory - java_home_directory -
- - This module requires Java, and no Java instance can be found. - - - - -
- - - -
-
- - - ${installdir}/properties.ini -
Java
- java_home_directory - ${java_home_directory} -
-
-
diff --git a/installer-resources/src/main/resources/bitrock/java.xml b/installer-resources/src/main/resources/bitrock/java.xml deleted file mode 100644 index 6a3fd50d38..0000000000 --- a/installer-resources/src/main/resources/bitrock/java.xml +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - java - Java - 0 - - 1 - 0 - - - - - 0 - 0 - This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again. - 0 - - - ${java_required_jdk} - - ${java_min_version} - - - - - - - - - 1 - 1 - This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again. - 0 - - - ${java_required_jdk} - - ${java_min_version} - - - - - - - - - - - This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again. - - - - ${java_min_version} - - - - - - - - java_home_directory - ${java_executable} - /bin/java$ - - - - - - - java_home_directory - - ${java_executable} - /bin/java.exe$ - - - - - - - java_home_directory - ${java_home_directory} - /jre$ - - - - - - java_home_directory - /usr/local/java - - - - - - - java_home_directory - ${platform_install_prefix}\java - - - - - - - - - - or - - - - - - - - - - - - - - - - - java_installation_type_options - 0 - bundledAndExisting - bundledAndExisting - - - java_installation_type - 0 - - - - java_min_version - 1.6.0 - 0 - - - java_max_version - - 0 - - - - - java_home_directory - - 0 - JDK configuration - Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later. - JDK Installation Directory: - - - The directory you selected is not a valid JDK directory. Choose another directory. - or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##### JAVA ENV ##### -JAVA_HOME=${java_home_directory} -export JAVA_HOME - - - - - - - - ${JAVA_ENV_VAR} -JAVA_BINDIR=${java_home_directory}/bin -export JAVA_BINDIR -JAVA_ROOT=${java_home_directory} -export JAVA_ROOT -JRE_HOME=${java_home_directory}/jre -export JRE_HOME - - - - - - - - - - - rem ##### JAVA ENV ##### -set JAVA_HOME=${java_home_directory} - - - - - - - - ${JAVA_ENV_VAR}${ENV_VAR} - - - - - - //Program Files - ${installdir}/java - programfiles - all - - - ${java_distribution_folder}/* - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-de.po b/installer-resources/src/main/resources/bitrock/lang/alf-de.po deleted file mode 100755 index c5d558cb16..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-de.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB RAM-Speicher reichen zum Ausführen von Alfresco Content Services für Test- oder Produktionszwecke nicht aus. Alfresco Content Services funktioniert möglicherweise nicht korrekt oder nur mit verminderter Leistung. Führen Sie ein Upgrade des Servers aus, um über mindestens ${minimum_ramGB} GB bzw. idealerweise ${recommended_ramGB} GB RAM-Speicher zu verfügen." - -msgid "${product_fullname} LibreOffice Service" -msgstr "${product_fullname} LibreOffice-Dienst" - -msgid "${product_fullname} Service" -msgstr "${product_fullname}-Dienst" - -msgid "${product_shortname} Manager Tool" -msgstr "${product_shortname}-Managertool" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "Microsoft Windows® 32-Bit wird nur für Evaluierungszwecke unterstützt." - -msgid "64-bit architecture recommended" -msgstr "64-Bit-Architektur empfohlen" - -msgid "Admin Password" -msgstr "Admin-Passwort" - -msgid "Admin Password:" -msgstr "Admin-Passwort:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Erweitert: Konfiguration von Serverports und Diensteigenschaften" - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Das Alfresco Content Services Enterprise Content Management (ECM)-System umfasst die Funktionen Document Management, Collaboration Management und Image Management." - -msgid "FTP Port" -msgstr "FTP-Port" - -msgid "Alfresco Module Packages" -msgstr "Alfresco-Modulpakete" - -msgid "RMI Port" -msgstr "RMI-Port" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Tastenkombinationen" - -msgid "Validations" -msgstr "Überprüfungen" - -msgid "Alfresco Website" -msgstr "Alfresco-Website" - -msgid "Data Directory" -msgstr "Datenverzeichnis" - -msgid "Choose optional components to install." -msgstr "Wählen Sie aus, welche optionalen Komponenten installiert werden sollen." - -msgid "Auto - Configure servers to start automatically" -msgstr "Automatisch: Server werden für automatischen Neustart konfiguriert" - -msgid "CIFS TCP ports in use" -msgstr "CIFS-TCP-Ports aktiv" - -msgid "CIFS UDP ports in use" -msgstr "CIFS-UDP-Ports aktiv" - -msgid "CIFS protocol ports configuration" -msgstr "Portkonfiguration für CIFS-Protokoll" - -msgid "CIFS server port" -msgstr "CIFS-Serverport" - -msgid "CIFS server port 1" -msgstr "CIFS-Serverport 1" - -msgid "CIFS server port 2" -msgstr "CIFS-Serverport 2" - -msgid "Configuration Files" -msgstr "Konfigurationsdateien" - -msgid "Creating user and database" -msgstr "Benutzer und Datenbank werden erstellt" - -msgid "Database Configuration" -msgstr "Datenbankkonfiguration" - -msgid "Database Installation" -msgstr "Datenbankinstallation" - -msgid "Database Server Parameters" -msgstr "Datenbankserver-Parameter" - -msgid "Database Server Port:" -msgstr "Datenbankserverport:" - -msgid "Database Name" -msgstr "Datenbankname" - -msgid "Database Name:" -msgstr "Datenbankname:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Alfresco Content Services wird bereitgestellt... Dies kann bis zu fünf Minuten dauern." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Möchten Sie PostgreSQL als Windows-Dienst installieren?" - -msgid "Easy - Install using the default configuration." -msgstr "Einfach: Installation mit Standardkonfiguration" - -msgid "Extension Files" -msgstr "Erweiterungsdateien" - -msgid "Google Docs Integration" -msgstr "Integration von Google Docs" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Ich möchte eine bereits vorhandene PostgreSQL-Datenbank verwenden." - -msgid "I want to use an existing Tomcat instance." -msgstr "Ich möchte eine bereits vorhandene Tomcat-Instanz verwenden." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Ich möchte die gebündelte PostgreSQL-Datenbank verwenden." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Ich möchte die im Paket enthaltene Tomcat-Instanz verwenden." - -msgid "IMAP TCP port in use." -msgstr "IMAP-TCP-Port aktiv." - -msgid "IMAP Port" -msgstr "IMAP-Port" - -msgid "IP / Hostname" -msgstr "IP/Hostname" - -msgid "Include Alfresco Web Quick Start." -msgstr "Alfresco Web Quick Start einschließen." - -msgid "Include Google Docs Integration Features." -msgstr "Funktionen zur Integration von Google Docs einschließen." - -msgid "Initializing database" -msgstr "Datenbank wird initialisiert" - -msgid "Install ${product_fullname} as a service?" -msgstr "${product_fullname} als Dienst installieren?" - -msgid "Install ${product_fullname} as service" -msgstr "${product_fullname} als Dienst installieren" - -msgid "Install PostgreSQL as a service?" -msgstr "PostgreSQL als Dienst installieren?" - -msgid "Install as a service" -msgstr "Als Dienst installieren" - -msgid "Installation Folder" -msgstr "Installationsordner" - -msgid "Installation Type" -msgstr "Installationstyp" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "Der Pfad für das Installationsverzeichnis ist zu lang. Die maximal zulässige Anzahl an Zeichen beträgt ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Installationsordner" - -msgid "Installation folder cannot contain spaces." -msgstr "Der Installationsordner darf keine Leerzeichen enthalten." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Alfresco-Modulpakete (AMPs) werden installiert" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "LibreOffice wird als Windows-Dienst mit dem Namen ${LibreOfficeUniqueServiceName} installiert" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "PostgreSQL wird als Windows-Dienst mit dem Namen ${postgres_unique_service_name} installiert" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Tomcat wird als Windows-Dienst mit dem Namen ${tomcat_unique_service_name} installiert" - -msgid "Not enough file descriptors available" -msgstr "Nicht genügend Dateideskriptoren verfügbar" - -msgid "CPU clock speed is too slow" -msgstr "CPU-Taktrate zu langsam" - -msgid "Not enough CPUs (cores) available" -msgstr "Nicht genügend CPUs (Kerne) verfügbar" - -msgid "Not enough system RAM available" -msgstr "Nicht ausreichend System-RAM verfügbar" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "Sie verfügen nicht über die erforderlichen Berechtigungen, um den Port zu binden, oder der Port wird bereits von einer anderen Anwendung verwendet. Bitte wählen Sie einen anderen Port aus." - -msgid "JDBC Driver:" -msgstr "JDBC-Treiber:" - -msgid "JDBC URL:" -msgstr "JDBC-URL:" - -msgid "JDK configuration" -msgstr "JDK-Konfiguration" - -msgid "JDK Installation Directory:" -msgstr "JDK-Installationsverzeichnis:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Für die Ausführung von ${product_fullname} ist die Java-Komponente erforderlich." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Java-Basispfad enthält Leerzeichen. Alfresco Content Services funktioniert möglicherweise nicht ordnungsgemäß, da bei JVM Probleme vorkommen, wenn der Installationspfad Leerzeichen enthält. Installieren Sie JVM erneut in einem Pfad, der keine Leerzeichen enthält." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Dieses Modul erfordert Java, es wurde aber keine Java-Instanz gefunden." - -msgid "Launch ${product_fullname}" -msgstr "${product_fullname} starten" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "LibreOffice-Serverport" - -msgid "LibreOffice Server Port:" -msgstr "LibreOffice-Serverport:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice ist ein Open-Source-Softwarepaket für verschiedene Plattformen. Es umfasst Anwendungen wie Textverarbeitung, Tabellenkalkulation, Präsentations-, Grafik- und Datenbankanwendungen, die für die Dokumentbearbeitung erforderlich sind." - -msgid "Location of bin and lib tomcat folders" -msgstr "Speicherort der Tomcat-Ordner bin und lib" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® wird nur für Evaluierungszwecke unterstützt." - -msgid "Manager Tool" -msgstr "Managertool" - -msgid "Manual - Configure servers to start services manually" -msgstr "Manuell: Server werden für den manuellen Start von Diensten konfiguriert" - -msgid "New Component" -msgstr "Neue Komponente" - -msgid "New Folder" -msgstr "Neuer Ordner" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Keine Installation von PostgreSQL Version 9.4.4. PostgreSQL 9.4.4 wird empfohlen." - -msgid "Password" -msgstr "Passwort" - -msgid "Password must not contain leading or trailing spaces." -msgstr "Passwort darf weder führende noch nachgestellte Leerzeichen enthalten." - -msgid "Password:" -msgstr "Passwort:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Wählen Sie einen Ordner für die Installation von ${product_fullname} aus." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Wählen Sie eine Port-Nummer, damit Alfresco Content Services Remote-Befehle ausführen kann." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Wählen Sie eine Port-Nummer, die der integrierte FTP-Server verwenden kann." - -msgid "Enter a valid IP address or hostname." -msgstr "Geben Sie eine gültige IP-Adresse oder einen gültigen Hostnamen ein." - -msgid "Enter the IP address or hostname for your database." -msgstr "Geben Sie eine IP-Adresse oder einen Hostnamen für Ihre Datenbank ein." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Geben Sie Ihre Tomcat-Konfigurationsparameter ein." - -msgid "Enter the port of your database." -msgstr "Geben Sie den Port für Ihre Datenbank ein." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Geben Sie den Port für den LibreOffice-Server ein." - -msgid "Enter your database 'postgres' user password." -msgstr "Geben Sie das 'postgres'-Benutzerpasswort für Ihre Datenbank ein." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Legen Sie ein Passwort für das Alfresco Content Services-Administratorkonto fest." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Wählen Sie ein anderes Installationsverzeichnis aus. Das Installationsverzeichnis darf keine symbolischen Verknüpfungen enthalten." - -msgid "Select services startup type." -msgstr "Wählen Sie den Starttyp für Dienste aus." - -msgid "Select a Tomcat configuration" -msgstr "Wählen Sie eine Tomcat-Konfiguration aus." - -msgid "Select a database configuration." -msgstr "Wählen Sie eine Datenbankkonfiguration aus." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Wählen Sie dieses Modul, wenn Sie zulassen möchten, dass Anwendungen, die mit einem SharePoint-Server kommunizieren können, mit Ihrer Alfresco Content Services-Installation kommunizieren." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Wählen Sie dieses Modul, wenn Sie zulassen möchten, dass Anwendungen, die mit einem SharePoint-Server kommunizieren können, mit Ihrer Alfresco Content Services-Installation kommunizieren (proprietäres Modul mit Lizenz gemäß Alfresco-Komponentenlizenz)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Geben Sie das Verzeichnis an, in dem sich Tomcat befindet." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Geben Sie das Verzeichnis an, in dem die Binärdateien psql, pg_restore und vacuumdb gespeichert sind." - -msgid "Enter CIFS ports configuration." -msgstr "Geben Sie die Konfiguration für die CIFS-Ports ein." - -msgid "Port:" -msgstr "Port:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "PostgreSQL-Verzeichnis für Binärdateien" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL ist ein leistungsstarkes objektrelationales Open-Source-Datenbanksystem." - -msgid "PostgreSQL postgres user password" -msgstr "postgres-Benutzerpasswort für PostgreSQL" - -msgid "Program Files" -msgstr "Programmdateien" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "README-Datei" - -msgid "README Folder Component" -msgstr "README-Ordner-Komponente" - -msgid "Re-enter password" -msgstr "Geben Sie das Passwort erneut ein" - -msgid "Repeat Password:" -msgstr "Passwort wiederholen:" - -msgid "SMB Port" -msgstr "SMB-Port" - -msgid "SMTP TCP port in use" -msgstr "SMTP-TCP-Port aktiv" - -msgid "SMTP Port" -msgstr "SMTP-Port" - -msgid "Select a folder:" -msgstr "Wählen Sie einen Ordner aus:" - -msgid "Service Startup Configuration" -msgstr "Dienststart-Konfiguration" - -msgid "Service script name" -msgstr "Skriptname des Dienstes" - -msgid "Specify the name of the database." -msgstr "Geben Sie den Namen der Datenbank an." - -msgid "Specify the password for the database user." -msgstr "Geben Sie das Passwort für den Datenbankbenutzer an." - -msgid "Set the database user." -msgstr "Bestimmen Sie den Datenbankbenutzer." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "Setup wird die neuen Datenbanken installieren und überschreibt dabei bereits bestehende identische Datenbanken. Möchten Sie fortfahren?" - -msgid "Shortcuts Images" -msgstr "Shortcut-Symbole" - -msgid "Show next steps" -msgstr "Nächste Schritte" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Einige oder alle für LibreOffice erforderliche Bibliotheken wurden auf Ihrem System nicht gefunden: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nEs wird ausdrücklich der Abbruch dieser Installation und zunächst eine Installation über den Paketmanager empfohlen.\nWeitere Informationen finden Sie in der Dokumentation zu LibreOffice unter http://docs.alfresco.com\n\nMöchten Sie mit der Installation fortfahren?" - -msgid "We support PostgreSQL as service only." -msgstr "Wir unterstützen PostgreSQL nur als Service." - -msgid "You need to be an administrator." -msgstr "Sie müssen ein Administrator sein." - -msgid "Start ${product_fullname} service" -msgstr "${product_fullname}-Dienst starten" - -msgid "Starting LibreOffice..." -msgstr "LibreOffice wird gestartet ..." - -msgid "Starting servers..." -msgstr "Server werden gestartet ..." - -msgid "Stop ${product_fullname} service" -msgstr "${product_fullname}-Dienst anhalten" - -msgid "Stopping PostgreSQL..." -msgstr "PostgreSQL wird angehalten ..." - -msgid "Stopping Services" -msgstr "Dienste werden gestoppt" - -msgid "Stopping servers" -msgstr "Server werden angehalten" - -msgid "Stopping services" -msgstr "Dienste werden angehalten" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "Die Skriptdatei für den Dienst ${product_shortname} ist bereits vorhanden. Verwenden Sie einen anderen Namen für das Dienstskript." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "Das Datenverzeichnis wird mit der Zeit größer. Wählen Sie aus, wo es gespeichert werden soll." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "Benutzer ohne Root-Berechtigungen können nicht auf das aktuelle Installationsverzeichnis zugreifen. Wählen Sie ein anderes Installationsverzeichnis aus oder ändern Sie die Berechtigungen für diesen Ordner zu 755." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "Das ausgewählte Verzeichnis ist kein gültiges JDK-Verzeichnis. Wählen Sie ein anderes Verzeichnis." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "Das ausgewählte Verzeichnis ist kein gültiges Tomcat-Verzeichnis. Wählen Sie ein anderes Verzeichnis." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "Der Pfad des Installationsverzeichnis darf nur Buchstaben, Zahlen und die Zeichen '/', '.', '-' und '_' enthalten." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "Die Installation hat ermittelt, dass der aktuelle umask-Befehl auf ${base_umask}-Berechtigungen eingestellt ist. Ändern Sie die umask-Einstellung vor dem erneuten Start des Installationsprogramms auf mindestens 0022. Nach Abschluss der Installation setzen Sie die umask-Berechtigungen auf die ursprünglichen Werte zurück." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "Unter ${installdir} steht nicht genügend Speicherplatz zur Verfügung. Überprüfen Sie, ob genügend Speicherplatz für die Installation von ${product_fullname} vorhanden ist." - -msgid "The password must be longer than 3 characters." -msgstr "Das Passwort muss länger als drei Zeichen sein." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "Der Pfad ${postgres_binary_directory} enthält keine ausführbare Datei pg_restore." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "Der Pfad ${postgres_binary_directory} enthält keine ausführbare Datei pg_vacuumdb." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "Der Pfad ${postgres_binary_directory} ist nicht zulässig. Überprüfen Sie, ob das Verzeichnis die erforderlichen Binärdateien enthält." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "Der ausgewählte Ordner ist nicht leer. Wählen Sie einen anderen Ordner aus." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "Die Skriptdatei für den Dienst ist bereits vorhanden. Geben Sie einen anderen Namen für das Dienstskript an." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "Die von Ihnen ausgewählte Java-Version ist eine 32-Bit-Version, dies ist jedoch eine 64-Bit-Installation von Alfresco Content Services. Installieren Sie eine Java-64-Bit-Version, bevor Sie fortfahren, oder gehen Sie zurück und vergewissern Sie sich, dass die Java-Komponente ausgewählt ist." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "Im Verzeichnis ${installdir} ist nicht genügend Speicherplatz frei. Für die Installation von ${product_fullname} benötigen Sie mindestens ${base_needed_space} MB freien Speicherplatz." - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Diese Umgebung ist nicht optimal für Alfresco Content Services konfiguriert. Überprüfen Sie diese Liste sorgfältig, bevor Sie fortfahren.\n\nDiese Probleme verhindern nicht das Funktionieren von Alfresco Content Services, aber es kann sein, dass einige Produktfunktionen nicht verfügbar sind oder die Systemleistung beeinträchtigt wird." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "Diese Installationsdatei ist für Windows 64-Bit. Laden Sie die 32-Bit-Version von Windows herunter." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Diese Version ist zur Ausführung unter J2SE ${java_min_version} oder einer neueren Version vorgesehen. Installieren Sie eine kompatible Java-Version, und versuchen Sie es erneut." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Diese Version ist zur Ausführung unter J2SE ${java_min_version} vorgesehen. Installieren Sie eine kompatible Java-Version, und versuchen Sie es erneut." - -msgid "Tomcat AJP Port:" -msgstr "Tomcat-AJP-Port:" - -msgid "Tomcat Directory" -msgstr "Tomcat-Verzeichnis" - -msgid "Tomcat JMX Port:" -msgstr "Tomcat-JMX-Port:" - -msgid "Tomcat Port Configuration" -msgstr "Port-Konfiguration für Tomcat" - -msgid "Tomcat SSL Port:" -msgstr "Tomcat-SSL-Port:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Der Tomcat-Serverport und der Tomcat-Shutdown-Port dürfen nicht identisch sein. Bitte wählen Sie einen anderen Shutdown-Port für Tomcat aus." - -msgid "Tomcat Server Port:" -msgstr "Tomcat-Serverport:" - -msgid "Tomcat Shutdown Port:" -msgstr "Tomcat-Shutdown-Port:" - -msgid "Tomcat Directory:" -msgstr "Tomcat-Verzeichnis:" - -msgid "Tomcat Installation:" -msgstr "Tomcat-Installation:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Binden an die angegebene Portnummer nicht möglich. Wählen Sie einen anderen FTP-Port aus." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Binden an die angegebene Portnummer nicht möglich. Wählen Sie einen anderen RMI-Port aus." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Binden an die angegebene Portnummer nicht möglich. Wählen Sie einen anderen Tomcat-AJP-Port aus." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Binden an die angegebene Portnummer nicht möglich. Wählen Sie einen anderen Tomcat-JMX-Port aus." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Binden an die angegebene Portnummer nicht möglich. Wählen Sie einen anderen Tomcat-SSL-Port aus." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Binden an die angegebene Portnummer nicht möglich. Wählen Sie einen anderen Tomcat-Serverport aus." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Binden an die angegebene Portnummer nicht möglich. Bitte wählen Sie einen anderen Shutdown-Port für Tomcat aus." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "In den Feldern für die Portkonfiguration dürfen nur Zahlen eingegeben werden. Andere Zeichen sind nicht zulässig." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Binden an den Serverport nicht möglich. Stellen Sie sicher, dass ${serverName} nicht gerade ausgeführt wird." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Die Verbindung zur Datenbank kann nicht hergestellt werden. Überprüfen Sie die Konfiguration." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Es konnte kein Server auf dem angegeben Port gefunden werden. Wählen Sie einen anderen Port aus." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Es konnte kein Server auf dem Port ${postgres_port} gefunden werden. Starten Sie Ihren Datenbankserver." - -msgid "Couldn’t get free disk space." -msgstr "Es kann kein freier Speicherplatz gefunden werden." - -msgid "Uninstall ${product_fullname}" -msgstr "${product_fullname} deinstallieren" - -msgid "Uninstall ${product_fullname} service" -msgstr "${product_fullname}-Dienst deinstallieren" - -msgid "Uninstalling service" -msgstr "Dienst wird deinstalliert" - -msgid "Uninstalling services" -msgstr "Dienste werden deinstalliert" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Zum Konfigurieren des Ziels für den Inhalt im Befehlsordner verwenden" - -msgid "User" -msgstr "Benutzer" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "Benutzername „${username}“ ist reserviert. Verwenden Sie einen anderen Benutzernamen." - -msgid "Username:" -msgstr "Benutzername:" - -msgid "Verify:" -msgstr "Überprüfen:" - -msgid "Waiting for PostgreSQL to start" -msgstr "Warten Sie, bis PostgreSQL gestartet wird" - -msgid "Waiting for Postmaster" -msgstr "Warten Sie auf den Postmaster" - -msgid "War files" -msgstr "WAR-Dateien" - -msgid "Warning" -msgstr "Warnung" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "In Ihrem System wurde keine geeignete JDK-Installation gefunden. ${product_fullname} erfordert JDK ${java_min_version} oder eine neuere Version." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Webserver" - -msgid "Web Server Domain:" -msgstr "Webserver-Domäne:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "Sie versuchen, eine Ruby ${rubyVersion}-basierte Anwendung in einem Bitnami-Stapel zu installieren, die nicht unterstützt wird. Laden Sie Ruby Stack-Version ${rubyVersion} von bitnami.com herunter und installieren Sie sie." - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Wenn Sie ${product_fullname} als Dienst registrieren, wird ${product_fullname} beim Starten des Rechners automatisch mit gestartet." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "Sie haben Tomcat als vorhandene Installation gewählt. Um neu installierte Anwendungen verwenden zu können, müssen Sie Tomcat neu starten." - -msgid "Select at least one of the Solr components." -msgstr "Wählen Sie mindestens eine der Solr-Komponenten aus." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Beim Einrichten des Passworts hier dürfen Sie nur ASCII-Zeichen verwenden. Wenn Sie andere Zeichen verwenden möchten, können Sie das Passwort nach der Installation neu bestimmen." - -msgid "Connect Alfresco Share to the repository" -msgstr "Alfresco Share mit dem Repository verbinden" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Geben Sie den Speicherort Ihres Alfresco Content Services-Repositorys ein." - -msgid "Repository location: " -msgstr "Repository-Ort: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Installieren Sie Solr 1.4 nur, um ein Upgrade von früheren Versionen von Alfresco Content Services durchzuführen." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr ist eine Open-Source-Suchplattform für Unternehmen. Als Index- und Such-Engine wird dabei Apache Lucene verwendet. Solr 4 ist hinsichtlich Skalierbarkeit, Leistung und Flexibilität besser als Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "Port kann nicht an die angegebene Portnummer gebunden werden." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Port kann nicht an die angegebene Portnummer gebunden werden. Dieser Port wird bereits vom ${process_binding_port}-Prozess verwendet. Bitte wählen Sie einen anderen ${serverName}-Serverport." - -msgid "Remote Solr configuration" -msgstr "Solr-Remote-Konfiguration" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Geben Sie den Solr-Host und -Port für die Verbindung zu Alfresco Content Services an:" - -msgid "Solr host:" -msgstr "Solr-Host:" - -msgid "Solr SSL port:" -msgstr "Solr-SSL-Port:" - -msgid "Sharded Solr installation" -msgstr "Horizontal skalierte Solr-Installation" - -msgid "Are you using a sharded Solr installation?" -msgstr "Arbeiten Sie mit einer horizontal skalierten Solr-Installation?" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nein" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Bitte lesen Sie die folgende Lizenzvereinbarung. Sie müssen den Bedingungen dieser Vereinbarung zustimmen, wenn Sie mit der Installation fortfahren möchten." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-en.po b/installer-resources/src/main/resources/bitrock/lang/alf-en.po deleted file mode 100755 index c950851a4d..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-en.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." - -msgid "${product_fullname} LibreOffice Service" -msgstr "${product_fullname} LibreOffice Service" - -msgid "${product_fullname} Service" -msgstr "${product_fullname} Service" - -msgid "${product_shortname} Manager Tool" -msgstr "${product_shortname} Manager Tool" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "32-bit Microsoft Windows® is supported for evaluation use only." - -msgid "64-bit architecture recommended" -msgstr "64-bit architecture recommended" - -msgid "Admin Password" -msgstr "Admin Password" - -msgid "Admin Password:" -msgstr "Admin Password:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Advanced - Configure server ports and service properties." - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." - -msgid "FTP Port" -msgstr "FTP Port" - -msgid "Alfresco Module Packages" -msgstr "Alfresco Module Packages" - -msgid "RMI Port" -msgstr "RMI Port" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Shortcuts" - -msgid "Validations" -msgstr "Validations" - -msgid "Alfresco Website" -msgstr "Alfresco Website" - -msgid "Data Directory" -msgstr "Data Directory" - -msgid "Choose optional components to install." -msgstr "Choose optional components to install." - -msgid "Auto - Configure servers to start automatically" -msgstr "Auto - Configure servers to start automatically" - -msgid "CIFS TCP ports in use" -msgstr "CIFS TCP ports in use" - -msgid "CIFS UDP ports in use" -msgstr "CIFS UDP ports in use" - -msgid "CIFS protocol ports configuration" -msgstr "CIFS protocol ports configuration" - -msgid "CIFS server port" -msgstr "CIFS server port" - -msgid "CIFS server port 1" -msgstr "CIFS server port 1" - -msgid "CIFS server port 2" -msgstr "CIFS server port 2" - -msgid "Configuration Files" -msgstr "Configuration Files" - -msgid "Creating user and database" -msgstr "Creating user and database" - -msgid "Database Configuration" -msgstr "Database Configuration" - -msgid "Database Installation" -msgstr "Database Installation" - -msgid "Database Server Parameters" -msgstr "Database Server Parameters" - -msgid "Database Server Port:" -msgstr "Database Server Port:" - -msgid "Database Name" -msgstr "Database Name" - -msgid "Database Name:" -msgstr "Database Name:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Deploying Alfresco Content Services... This can take up to five minutes." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Do you want to install PostgreSQL as a Windows service?" - -msgid "Easy - Install using the default configuration." -msgstr "Easy - Install using the default configuration." - -msgid "Extension Files" -msgstr "Extension Files" - -msgid "Google Docs Integration" -msgstr "Google Docs Integration" - -msgid "I want to use an existing PostgreSQL database." -msgstr "I want to use an existing PostgreSQL database." - -msgid "I want to use an existing Tomcat instance." -msgstr "I want to use an existing Tomcat instance." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "I want to use the bundled PostgreSQL database." - -msgid "I want to use the bundled Tomcat instance." -msgstr "I want to use the bundled Tomcat instance." - -msgid "IMAP TCP port in use." -msgstr "IMAP TCP port in use." - -msgid "IMAP Port" -msgstr "IMAP Port" - -msgid "IP / Hostname" -msgstr "IP / Hostname" - -msgid "Include Alfresco Web Quick Start." -msgstr "Include Alfresco Web Quick Start." - -msgid "Include Google Docs Integration Features." -msgstr "Include Google Docs Integration Features." - -msgid "Initializing database" -msgstr "Initializing database" - -msgid "Install ${product_fullname} as a service?" -msgstr "Install ${product_fullname} as a service?" - -msgid "Install ${product_fullname} as service" -msgstr "Install ${product_fullname} as service" - -msgid "Install PostgreSQL as a service?" -msgstr "Install PostgreSQL as a service?" - -msgid "Install as a service" -msgstr "Install as a service" - -msgid "Installation Folder" -msgstr "Installation Folder" - -msgid "Installation Type" -msgstr "Installation Type" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Installation folder" - -msgid "Installation folder cannot contain spaces." -msgstr "Installation folder cannot contain spaces." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Installing Alfresco Module Packages (AMPs)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "Not enough file descriptors available" - -msgid "CPU clock speed is too slow" -msgstr "CPU clock speed is too slow" - -msgid "Not enough CPUs (cores) available" -msgstr "Not enough CPUs (cores) available" - -msgid "Not enough system RAM available" -msgstr "Not enough system RAM available" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." - -msgid "JDBC Driver:" -msgstr "JDBC Driver:" - -msgid "JDBC URL:" -msgstr "JDBC URL:" - -msgid "JDK configuration" -msgstr "JDK configuration" - -msgid "JDK Installation Directory:" -msgstr "JDK Installation Directory:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Java Component required to run ${product_fullname}." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "This module requires Java, and no Java instance can be found." - -msgid "Launch ${product_fullname}" -msgstr "Launch ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "LibreOffice Server Port" - -msgid "LibreOffice Server Port:" -msgstr "LibreOffice Server Port:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." - -msgid "Location of bin and lib tomcat folders" -msgstr "Location of bin and lib tomcat folders" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® is supported for evaluation use only." - -msgid "Manager Tool" -msgstr "Manager Tool" - -msgid "Manual - Configure servers to start services manually" -msgstr "Manual - Configure servers to start services manually" - -msgid "New Component" -msgstr "New Component" - -msgid "New Folder" -msgstr "New Folder" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." - -msgid "Password" -msgstr "Password" - -msgid "Password must not contain leading or trailing spaces." -msgstr "Password must not contain leading or trailing spaces." - -msgid "Password:" -msgstr "Password:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Choose a folder to install ${product_fullname}." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Choose a port number for Alfresco Content Services to use to execute remote commands." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Choose a port number for the integrated FTP server." - -msgid "Enter a valid IP address or hostname." -msgstr "Enter a valid IP address or hostname." - -msgid "Enter the IP address or hostname for your database." -msgstr "Enter the IP address or hostname for your database." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Enter your Tomcat configuration parameters." - -msgid "Enter the port of your database." -msgstr "Enter the port of your database." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Enter the port that the LibreOffice Server will listen to." - -msgid "Enter your database 'postgres' user password." -msgstr "Enter your database 'postgres' user password." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Specify a password for the Alfresco Content Services administrator account." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Select a different installation directory. The installation directory cannot contain symbolic links." - -msgid "Select services startup type." -msgstr "Select services startup type." - -msgid "Select a Tomcat configuration" -msgstr "Select a Tomcat configuration" - -msgid "Select a database configuration." -msgstr "Select a database configuration." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Specify the directory where Tomcat is located." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." - -msgid "Enter CIFS ports configuration." -msgstr "Enter CIFS ports configuration." - -msgid "Port:" -msgstr "Port:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "PostgreSQL Binary Directory" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL is a powerful, open source, object-relational database system." - -msgid "PostgreSQL postgres user password" -msgstr "PostgreSQL postgres user password" - -msgid "Program Files" -msgstr "Program Files" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "README File" - -msgid "README Folder Component" -msgstr "README Folder Component" - -msgid "Re-enter password" -msgstr "Re-enter password" - -msgid "Repeat Password:" -msgstr "Repeat Password:" - -msgid "SMB Port" -msgstr "SMB Port" - -msgid "SMTP TCP port in use" -msgstr "SMTP TCP port in use" - -msgid "SMTP Port" -msgstr "SMTP Port" - -msgid "Select a folder:" -msgstr "Select a folder:" - -msgid "Service Startup Configuration" -msgstr "Service Startup Configuration" - -msgid "Service script name" -msgstr "Service script name" - -msgid "Specify the name of the database." -msgstr "Specify the name of the database." - -msgid "Specify the password for the database user." -msgstr "Specify the password for the database user." - -msgid "Set the database user." -msgstr "Set the database user." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" - -msgid "Shortcuts Images" -msgstr "Shortcuts Images" - -msgid "Show next steps" -msgstr "Show next steps" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" - -msgid "We support PostgreSQL as service only." -msgstr "We support PostgreSQL as service only." - -msgid "You need to be an administrator." -msgstr "You need to be an administrator." - -msgid "Start ${product_fullname} service" -msgstr "Start ${product_fullname} service" - -msgid "Starting LibreOffice..." -msgstr "Starting LibreOffice..." - -msgid "Starting servers..." -msgstr "Starting servers..." - -msgid "Stop ${product_fullname} service" -msgstr "Stop ${product_fullname} service" - -msgid "Stopping PostgreSQL..." -msgstr "Stopping PostgreSQL..." - -msgid "Stopping Services" -msgstr "Stopping Services" - -msgid "Stopping servers" -msgstr "Stopping servers" - -msgid "Stopping services" -msgstr "Stopping services" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "The ${product_shortname} service script file exists. Use a different name for the service script." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "The data directory increases in size over time. Choose where you want to store it." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "The directory you selected is not a valid JDK directory. Choose another directory." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "The directory you selected is not a valid Tomcat directory. Choose another directory." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "The password must be longer than 3 characters." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "The path ${postgres_binary_directory} does not contain a pg_restore executable." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "The selected folder is not empty. Specify a different folder." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "The service script file exists. Insert a different name for the service script." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "This installer is for Windows 64 bit. Download the Windows 32 bit version." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." - -msgid "Tomcat AJP Port:" -msgstr "Tomcat AJP Port:" - -msgid "Tomcat Directory" -msgstr "Tomcat Directory" - -msgid "Tomcat JMX Port:" -msgstr "Tomcat JMX Port:" - -msgid "Tomcat Port Configuration" -msgstr "Tomcat Port Configuration" - -msgid "Tomcat SSL Port:" -msgstr "Tomcat SSL Port:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." - -msgid "Tomcat Server Port:" -msgstr "Tomcat Server Port:" - -msgid "Tomcat Shutdown Port:" -msgstr "Tomcat Shutdown Port:" - -msgid "Tomcat Directory:" -msgstr "Tomcat Directory:" - -msgid "Tomcat Installation:" -msgstr "Tomcat Installation:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Couldn’t to bind to the given port number. Select another FTP Port." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Couldn’t bind to the given port number. Select another RMI Port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Couldn’t bind to the given port number. Select another Tomcat AJP Port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Couldn’t bind to the given port number. Select another Tomcat JMX Port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Couldn’t bind to the given port number. Select another Tomcat SSL Port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Couldn’t bind to the given port number. Select another Tomcat Server Port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "Use numbers only in the port configuration fields. Other characters are not permitted." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Couldn’t bind to the server port. Make sure that ${serverName} is not running." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Couldn’t connect to database. Check your configuration." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Couldn’t find a server running at this port number. Select another port." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Couldn’t find a server running at port ${postgres_port}. Start your database server." - -msgid "Couldn’t get free disk space." -msgstr "Couldn’t get free disk space." - -msgid "Uninstall ${product_fullname}" -msgstr "Uninstall ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "Uninstall ${product_fullname} service" - -msgid "Uninstalling service" -msgstr "Uninstalling service" - -msgid "Uninstalling services" -msgstr "Uninstalling services" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Use to configure the destination of the content in commands folder" - -msgid "User" -msgstr "User" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "Username '${username}' is reserved. Use a different user name." - -msgid "Username:" -msgstr "Username:" - -msgid "Verify:" -msgstr "Verify:" - -msgid "Waiting for PostgreSQL to start" -msgstr "Waiting for PostgreSQL to start" - -msgid "Waiting for Postmaster" -msgstr "Waiting for Postmaster" - -msgid "War files" -msgstr "War files" - -msgid "Warning" -msgstr "Warning" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Web Server" - -msgid "Web Server Domain:" -msgstr "Web Server Domain:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." - -msgid "Select at least one of the Solr components." -msgstr "Select at least one of the Solr components." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." - -msgid "Connect Alfresco Share to the repository" -msgstr "Connect Alfresco Share to the repository" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Enter the location of your Alfresco Content Services repository." - -msgid "Repository location: " -msgstr "Repository location: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "Unable to bind to the given port number." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." - -msgid "Remote Solr configuration" -msgstr "Remote Solr configuration" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Enter the Solr host and port to connect to Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Solr host:" - -msgid "Solr SSL port:" -msgstr "Solr SSL port:" - -msgid "Sharded Solr installation" -msgstr "Sharded Solr installation" - -msgid "Are you using a sharded Solr installation?" -msgstr "Are you using a sharded Solr installation?" - -msgid "Yes" -msgstr "Yes" - -msgid "No" -msgstr "No" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-es.po b/installer-resources/src/main/resources/bitrock/lang/alf-es.po deleted file mode 100755 index dc4c15c2db..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-es.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB de RAM no es suficiente para ejecutar Alfresco con fines de prueba o producción. Puede que Alfresco no funcione correctamente y, si funcionara, no sería de forma correcta. Actualice el servidor para tener como mínimo ${minimum_ramGB} GB de RAM y, preferiblemente, ${recommended_ramGB} GB de RAM." - -msgid "${product_fullname} LibreOffice Service" -msgstr "Servicio LibreOffice ${product_fullname}" - -msgid "${product_fullname} Service" -msgstr "Servicio ${product_fullname}" - -msgid "${product_shortname} Manager Tool" -msgstr "Herramienta de administrador ${product_shortname}" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "Microsoft Windows® de 32 bits solo es compatible para evaluación." - -msgid "64-bit architecture recommended" -msgstr "Se recomienda un arquitectura de 64 bits" - -msgid "Admin Password" -msgstr "Contraseña de admin" - -msgid "Admin Password:" -msgstr "Contraseña de admin:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Avanzada: configura las propiedades de servicio y los puertos de servidor." - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Sistema de gestión de contenido empresarial (ECM) de Alfresco Content Services, que incluye gestión documental, gestión colaborativa y gestión de imágenes." - -msgid "FTP Port" -msgstr "Puerto FTP" - -msgid "Alfresco Module Packages" -msgstr "Módulos de Alfresco" - -msgid "RMI Port" -msgstr "Puerto RMI" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Accesos directos" - -msgid "Validations" -msgstr "Validaciones" - -msgid "Alfresco Website" -msgstr "Sitio web de Alfresco" - -msgid "Data Directory" -msgstr "Directorio de datos" - -msgid "Choose optional components to install." -msgstr "También puede elegir componentes opcionales para instalar." - -msgid "Auto - Configure servers to start automatically" -msgstr "Auto: configura los servidores para que se inicien de forma automática" - -msgid "CIFS TCP ports in use" -msgstr "Puertos CIFS TCP en uso" - -msgid "CIFS UDP ports in use" -msgstr "Puertos CIFS UDP en uso" - -msgid "CIFS protocol ports configuration" -msgstr "Configuración de los puertos de protocolo CIFS" - -msgid "CIFS server port" -msgstr "Puerto de servidor CIFS" - -msgid "CIFS server port 1" -msgstr "Puerto de servidor CIFS 1" - -msgid "CIFS server port 2" -msgstr "Puerto de servidor CIFS 2" - -msgid "Configuration Files" -msgstr "Ficheros de configuración" - -msgid "Creating user and database" -msgstr "Creación de usuario y base de datos" - -msgid "Database Configuration" -msgstr "Configuración de la base de datos" - -msgid "Database Installation" -msgstr "Instalación de la base de datos" - -msgid "Database Server Parameters" -msgstr "Parámetros del servidor de la base de datos" - -msgid "Database Server Port:" -msgstr "Puerto del servidor de la base de datos:" - -msgid "Database Name" -msgstr "Nombre de la base de datos" - -msgid "Database Name:" -msgstr "Nombre de la base de datos:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Implementando Alfresco Content Services... Esto puede llevar hasta cinco minutos." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "¿Desea instalar PostgreSQL como servicio de Windows?" - -msgid "Easy - Install using the default configuration." -msgstr "Fácil: instalación con la configuración predeterminada." - -msgid "Extension Files" -msgstr "Ficheros de extensión" - -msgid "Google Docs Integration" -msgstr "Integración de Google Docs" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Quiero utilizar una base de datos PostgreSQL existente." - -msgid "I want to use an existing Tomcat instance." -msgstr "Quiero utilizar una instancia de Tomcat existente." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Quiero utilizar la base de datos PostgreSQL incluida." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Quiero usar la instancia de Tomcat incluida." - -msgid "IMAP TCP port in use." -msgstr "Puertos IMAP TCP en uso." - -msgid "IMAP Port" -msgstr "Puerto IMAP" - -msgid "IP / Hostname" -msgstr "IP/nombre del servidor" - -msgid "Include Alfresco Web Quick Start." -msgstr "Incluir Web Quick Start de Alfresco." - -msgid "Include Google Docs Integration Features." -msgstr "Incluir características de integración de Google Docs." - -msgid "Initializing database" -msgstr "Inicializando base de datos" - -msgid "Install ${product_fullname} as a service?" -msgstr "¿Instalar ${product_fullname} como servicio?" - -msgid "Install ${product_fullname} as service" -msgstr "Instalar ${product_fullname} como servicio" - -msgid "Install PostgreSQL as a service?" -msgstr "¿Instalar PostgreSQL como servicio?" - -msgid "Install as a service" -msgstr "Instalar como servicio" - -msgid "Installation Folder" -msgstr "Carpeta de instalación" - -msgid "Installation Type" -msgstr "Tipo de instalación" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "La ruta del directorio de instalación es demasiado larga. El número máximo de caracteres permitido es ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Carpeta de instalación" - -msgid "Installation folder cannot contain spaces." -msgstr "La carpeta de instalación no puede contener espacios." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Instalando los módulos de Alfresco (AMP)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "Instalando LibreOffice como servicio de Windows con el nombre ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "Instalando PostgreSQL como servicio de Windows con el nombre ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Instalando Tomcat como servicio de Windows con el nombre ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "No hay suficientes descriptores de ficheros disponibles" - -msgid "CPU clock speed is too slow" -msgstr "La velocidad de reloj de la CPU es demasiado lenta" - -msgid "Not enough CPUs (cores) available" -msgstr "No hay suficientes CPU (núcleos) disponibles" - -msgid "Not enough system RAM available" -msgstr "No hay suficiente RAM del sistema disponible" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "No tiene los permisos adecuados para unirse al puerto o el puerto ya lo está usando otra aplicación. Seleccione otro puerto." - -msgid "JDBC Driver:" -msgstr "Controlador JDBC:" - -msgid "JDBC URL:" -msgstr "URL de JDBC:" - -msgid "JDK configuration" -msgstr "Configuración de JDK" - -msgid "JDK Installation Directory:" -msgstr "Directorio de instalación de JDK:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Componente Java necesario para ejecutar ${product_fullname}." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "La ruta principal de Java contiene espacios. Puede que Alfresco Content Services no funcione correctamente, ya que la JVM tiene problemas cuando la ruta de instalación tiene espacios. Reinstale la JVM en una ruta que no contenga espacios." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Este módulo necesita Java y no puede encontrarse ninguna instancia de Java." - -msgid "Launch ${product_fullname}" -msgstr "Lanzar ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "Puerto de servidor LibreOffice" - -msgid "LibreOffice Server Port:" -msgstr "Puerto de servidor LibreOffice:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice es una suite de software ofimática de código abierto, multiplataforma, de tratamiento de textos, hojas de cálculo, presentaciones, gráficos y bases de datos, necesaria para transformar documentos." - -msgid "Location of bin and lib tomcat folders" -msgstr "Ubicación de las carpetas bin y lib tomcat" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® solo es compatible para evaluación." - -msgid "Manager Tool" -msgstr "Herramienta de administrador" - -msgid "Manual - Configure servers to start services manually" -msgstr "Manual: configura los servidores para que los servicios se inicien de forma manual" - -msgid "New Component" -msgstr "Nuevo componente" - -msgid "New Folder" -msgstr "Nueva carpeta" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "No es una instalación PostgreSQL versión 9.4.4. Se recomienda PostgreSQL 9.4.4." - -msgid "Password" -msgstr "Contraseña" - -msgid "Password must not contain leading or trailing spaces." -msgstr "La contraseña no debe contener espacios iniciales ni finales." - -msgid "Password:" -msgstr "Contraseña:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Elija una carpeta para instalar ${product_fullname}." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Elija un número de puerto que utilizará Alfresco Content Services para ejecutar comandos remotos." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Elija un número de puerto para el servidor FTP integrado." - -msgid "Enter a valid IP address or hostname." -msgstr "Introduzca una dirección IP o nombre de servidor válidos." - -msgid "Enter the IP address or hostname for your database." -msgstr "Introduzca la dirección IP o el nombre de servidor para su base de datos." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Introduzca sus parámetros de configuración de Tomcat." - -msgid "Enter the port of your database." -msgstr "Introduzca el puerto de su base de datos." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Introduzca el puerto en el que escuchará el servidor de LibreOffice." - -msgid "Enter your database 'postgres' user password." -msgstr "Introduzca la contraseña del usuario postgres de su base de datos." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Especifique una contraseña para la cuenta de administrador de Alfresco Content Services." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Seleccione un directorio de instalación distinto. El directorio de instalación no puede contener enlaces simbólicos." - -msgid "Select services startup type." -msgstr "Seleccione el tipo de inicio de los servicios." - -msgid "Select a Tomcat configuration" -msgstr "Selecciones una configuración de Tomcat." - -msgid "Select a database configuration." -msgstr "Seleccione una configuración de base de datos." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Seleccione este módulo para que las aplicaciones que pueden hablar con un servidor de SharePoint hablen con su instalación de Alfresco Content Services." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Seleccione este módulo para que las aplicaciones que pueden hablar con un servidor de SharePoint hablen con su instalación de Alfresco Content Services (módulo de propiedad con licencia bajo la licencia de componentes de Alfresco)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Especifique el directorio donde se encuentra Tomcat." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Especifique el directorio donde se encuentran los binarios psql, pg_restore y vacuumdb." - -msgid "Enter CIFS ports configuration." -msgstr "Introduzca la configuración de puertos CIFS." - -msgid "Port:" -msgstr "Puerto:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "Directorio binario PostgreSQL" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL es un eficaz sistema de bases de datos objeto-relacional de código abierto." - -msgid "PostgreSQL postgres user password" -msgstr "Contraseña de usuario de PostgreSQL postgres" - -msgid "Program Files" -msgstr "Ficheros de programa" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "Fichero README" - -msgid "README Folder Component" -msgstr "Componente de carpeta README" - -msgid "Re-enter password" -msgstr "Vuelva a introducir la contraseña" - -msgid "Repeat Password:" -msgstr "Repita la contraseña:" - -msgid "SMB Port" -msgstr "Puerto SMB" - -msgid "SMTP TCP port in use" -msgstr "Puerto SMTP TCP en uso" - -msgid "SMTP Port" -msgstr "Puerto SMTP" - -msgid "Select a folder:" -msgstr "Seleccionar una carpeta:" - -msgid "Service Startup Configuration" -msgstr "Configuración de inicio de servicios" - -msgid "Service script name" -msgstr "Nombre del script de servicio" - -msgid "Specify the name of the database." -msgstr "Especifique el nombre de la base de datos." - -msgid "Specify the password for the database user." -msgstr "Especifique la contraseña del usuario de la base de datos." - -msgid "Set the database user." -msgstr "Establezca el usuario de la base de datos." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "El programa de instalación intentará instalar nuevas bases de datos y sobrescribirá cualquier datos duplicado. ¿Desea continuar?" - -msgid "Shortcuts Images" -msgstr "Imágenes de accesos directos" - -msgid "Show next steps" -msgstr "Ver siguientes pasos" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Algunas o todas las bibliotecas necesarias para que funcione LibreOffice no se encontraron en el sistema: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nLe recomendamos encarecidamente que anule esta instalación y que instale las bibliotecas.\nPara obtener más información, consulte la documentación de LibreOffice en http://docs.alfresco.com\n\n¿Desea continuar?" - -msgid "We support PostgreSQL as service only." -msgstr "Solo admitimos PostgreSQL como servicio." - -msgid "You need to be an administrator." -msgstr "Debe ser administrador." - -msgid "Start ${product_fullname} service" -msgstr "Iniciar el servicio ${product_fullname}" - -msgid "Starting LibreOffice..." -msgstr "Iniciando LibreOffice..." - -msgid "Starting servers..." -msgstr "Iniciando servidores..." - -msgid "Stop ${product_fullname} service" -msgstr "Detener el servicio ${product_fullname}" - -msgid "Stopping PostgreSQL..." -msgstr "Deteniendo PostgreSQL..." - -msgid "Stopping Services" -msgstr "Deteniendo los servicios" - -msgid "Stopping servers" -msgstr "Deteniendo los servidores" - -msgid "Stopping services" -msgstr "Deteniendo los servicios" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "El fichero del script del servicio ${product_shortname} ya existe. Utilice un nombre diferente para el script de servicio." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "El directorio de datos aumenta de tamaño con el tiempo. Elija dónde quiere guardarlo." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "Los usuarios que no sean root no pueden acceder al directorio de instalación actual. Seleccione un directorio de instalación diferente o cambie los permisos a 755 para esta carpeta." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "El directorio que ha seleccionado no es un directorio JDK válido. Elija otro directorio." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "El directorio que ha seleccionado no es un directorio de Tomcat válido. Elija otro directorio." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "El directorio de instalación debe ser una ruta que incluya letras, números y los caracteres '/', '.', ‘-‘, y '_' solamente." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "La instalación no se ha realizado porque los permisos de umask actuales se han establecido en ${base_umask}. Modifique la configuración de umask a al menos 0022 antes de volver a iniciar el instalador. Cuando la instalación haya finalizado, restaure los permisos de umask a sus valores originales." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "El programa de instalación no pudo acceder al espacio libre actualmente en ${installdir}. Compruebe que haya espacio libre suficiente para instalar ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "La contraseña no debe tener más de 3 caracteres." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "La ruta ${postgres_binary_directory} no contiene un ejecutable pg_restore." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "La ruta ${postgres_binary_directory} no contiene un ejecutable pg_vacuumdb." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "La ruta ${postgres_binary_directory} no es válida. Compruebe si el directorio contiene los ficheros binarios necesarios." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "La carpeta seleccionada no está vacía. Especifique una carpeta diferente." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "El fichero del script del servicio ya existe. Introduzca un nombre diferente para el script de servicio." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "La versión de Java que ha seleccionado es de 32 bits, pero esta es una instalación de Alfresco Content Services de 64 bits. Instale una versión de Java de 64 bits antes de continuar, o vuelva atrás y asegúrese de que el componente "Java" está seleccionado." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "No hay espacio libre suficiente en ${installdir}. Necesita al menos ${base_needed_space} MB ara poder instalar ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Este entorno no está configurado de manera óptima para Alfresco Content Services; repase esta lista antes de continuar.\n\nA pesar de que estas situaciones no harán que Alfresco Content Services deje de funcionar, puede que algunas características del producto no estén disponibles, o que el sistema no funcione de manera óptima." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "El programa de instalación es para Windows de 64 bits. Descargue la versión de Windows de 32 bits." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Esta versión fue integrada para ejecutarse en J2SE ${java_min_version} o una versión posterior. Instale una versión compatible de Java e inténtelo de nuevo." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Esta versión fue integrada para ejecutarse en J2SE ${java_min_version}. Instale una versión compatible de Java e inténtelo de nuevo." - -msgid "Tomcat AJP Port:" -msgstr "Puerto AJP de Tomcat:" - -msgid "Tomcat Directory" -msgstr "Directorio de Tomcat" - -msgid "Tomcat JMX Port:" -msgstr "Puerto JMX de Tomcat:" - -msgid "Tomcat Port Configuration" -msgstr "Configuración de puerto Tomcat" - -msgid "Tomcat SSL Port:" -msgstr "Puerto SSL de Tomcat:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "El puerto del servidor Tomcat y el puerto de cierre de Tomcat no pueden ser el mismo puerto. Seleccione otro puerto de cierre de Tomcat." - -msgid "Tomcat Server Port:" -msgstr "Puerto del servidor Tomcat:" - -msgid "Tomcat Shutdown Port:" -msgstr "Puerto de cierre de Tomcat:" - -msgid "Tomcat Directory:" -msgstr "Directorio de Tomcat:" - -msgid "Tomcat Installation:" -msgstr "Instalación de Tomcat:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "No se pudo unir con el número de puerto dado. Seleccione otro puerto FTP." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "No se pudo unir con el número de puerto dado. Seleccione otro puerto RMI." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "No se pudo unir con el número de puerto dado. Seleccione otro puerto Tomcat AJP." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "No se pudo unir con el número de puerto dado. Seleccione otro puerto Tomcat JMX." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "No se pudo unir con el número de puerto dado. Seleccione otro puerto Tomcat SSL." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "No se pudo unir con el número de puerto dado. Seleccione otro puerto Tomcat SSL." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "No se pudo unir con el número de puerto dado. Seleccione otro puerto de cierre de Tomcat." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "Utilice solo números en los campos de configuración de puertos. No se permiten otros caracteres." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "No se pudo unir con el puerto de servidor. Asegúrese de que ${serverName} no se está ejecutando." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "No se pudo conectar con la base de datos. Compruebe su configuración." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "No se pudo encontrar un servidor en ejecución en este número de puerto. Seleccione otro puerto." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "No se pudo encontrar un servidor en ejecución en el puerto ${postgres_port}. Inicie el servidor de base de datos." - -msgid "Couldn’t get free disk space." -msgstr "No se pudo obtener espacio libre en disco." - -msgid "Uninstall ${product_fullname}" -msgstr "Desinstalar ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "Desinstalar el servicio ${product_fullname}" - -msgid "Uninstalling service" -msgstr "Desinstalando servicio" - -msgid "Uninstalling services" -msgstr "Desinstalando servicios" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Se utiliza para configurar el destino de los contenidos en la carpeta de comandos" - -msgid "User" -msgstr "Usuario" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "El nombre de usuario "${username}" está reservado. Utilice un nombre de usuario diferente." - -msgid "Username:" -msgstr "Nombre de usuario:" - -msgid "Verify:" -msgstr "Verificar:" - -msgid "Waiting for PostgreSQL to start" -msgstr "Esperando a que se inicie PostgreSQL" - -msgid "Waiting for Postmaster" -msgstr "Esperando al Postmaster" - -msgid "War files" -msgstr "Ficheros war" - -msgid "Warning" -msgstr "Advertencia" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "No se pudo encontrar una instalación JDK adecuada en su sistema. ${product_fullname} necesita JDK ${java_min_version} o posterior." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Servidor Web" - -msgid "Web Server Domain:" -msgstr "Dominio de Servidor Web:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "Está intentando instalar una aplicación basada en Ruby ${rubyVersion} en un stack Bitnami que no es compatible. Descargue e instale una versión de Ruby Stack ${rubyVersion} de bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Si registra ${product_fullname} como servicio, iniciará automáticamente ${product_fullname} cuando se ponga en marcha el equipo." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "Ha elegido Tomcat como instalación existente. Reinicie Tomcat y utilice cualquier aplicación instalada nueva." - -msgid "Select at least one of the Solr components." -msgstr "Seleccione al menos uno de los componentes de Solr." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Utilice caracteres ASCII solamente cuando cree la contraseña en el instalador. Si desea utilizar caracteres no ASCII, puede hacerlo restableciendo la contraseña después de la instalación." - -msgid "Connect Alfresco Share to the repository" -msgstr "Conecte Alfresco Share al repositorio." - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Introduzca la ubicación de su repositorio de Alfresco Content Services." - -msgid "Repository location: " -msgstr "Ubicación del repositorio: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Instale Solr 1.4 solo para actualizar versiones anteriores de Alfresco Content Services." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr es una plataforma de búsqueda empresarial de código abierto que utiliza Apache Lucene como motor de indexación y búsqueda. Solr 4 ofrece mejoras en escalabilidad, rendimiento y flexibilidad en comparación con Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "No se puede unir con el número de puerto dado." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "No se puede unir con el número de puerto dado. Este puerto ya lo está utilizando el proceso ${process_binding_port}. Seleccione otro puerto de servidor ${serverName}." - -msgid "Remote Solr configuration" -msgstr "Configuración remota de Solr" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Introduzca el puerto y host de Solr para conectar a Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Host de Solr:" - -msgid "Solr SSL port:" -msgstr "Puerto SSL de Solr:" - -msgid "Sharded Solr installation" -msgstr "Instalación particionada de Solr" - -msgid "Are you using a sharded Solr installation?" -msgstr "¿Está utilizando una instalación particionada de Solr?" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Lea el Contrato de licencia a continuación. Debe aceptar los términos de este contrato antes de continuar con la instalación." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-fr.po b/installer-resources/src/main/resources/bitrock/lang/alf-fr.po deleted file mode 100755 index 17f71f28f1..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-fr.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} Go de RAM ne suffisent pas pour exécuter Alfresco Content Services à des fins de test ou de production. Alfresco Content Services risque de ne pas fonctionner correctement, et si tel est le cas, ses performances ne seront pas optimales. Mettez à niveau le serveur pour disposer d'au moins ${minimum_ramGB} Go de RAM, ou mieux, de ${recommended_ramGB} Go de RAM." - -msgid "${product_fullname} LibreOffice Service" -msgstr "Service LibreOffice ${product_fullname}" - -msgid "${product_fullname} Service" -msgstr "Service ${product_fullname}" - -msgid "${product_shortname} Manager Tool" -msgstr "Outil du gestionnaire ${product_shortname}" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "Microsoft Windows® 32 bits est pris en charge uniquement à des fins d'évaluation." - -msgid "64-bit architecture recommended" -msgstr "Architecture de 64 bits recommandée" - -msgid "Admin Password" -msgstr "Mot de passe admin" - -msgid "Admin Password:" -msgstr "Mot de passe admin :" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Avancé - Configure les ports du serveur et les propriétés du service." - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Système de gestion de contenu d'entreprise (ECM) Alfresco Content Services intégrant des services de gestion de documents, de gestion collaborative et de gestion d'images." - -msgid "FTP Port" -msgstr "Port FTP" - -msgid "Alfresco Module Packages" -msgstr "Alfresco Module Packages" - -msgid "RMI Port" -msgstr "Port RMI" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Raccourcis" - -msgid "Validations" -msgstr "Validations" - -msgid "Alfresco Website" -msgstr "Site Web Alfresco" - -msgid "Data Directory" -msgstr "Répertoire de données" - -msgid "Choose optional components to install." -msgstr "Choisissez les composants optionnels à installer." - -msgid "Auto - Configure servers to start automatically" -msgstr "Auto - Configure le démarrage automatique de serveurs" - -msgid "CIFS TCP ports in use" -msgstr "Ports TCP CIFS en cours d'utilisation" - -msgid "CIFS UDP ports in use" -msgstr "Ports UDP CIFS en cours d'utilisation" - -msgid "CIFS protocol ports configuration" -msgstr "Configuration des ports de protocole CIFS" - -msgid "CIFS server port" -msgstr "Port du serveur CIFS" - -msgid "CIFS server port 1" -msgstr "Port du serveur CIFS 1" - -msgid "CIFS server port 2" -msgstr "Port du serveur CIFS 2" - -msgid "Configuration Files" -msgstr "Fichiers de configuration" - -msgid "Creating user and database" -msgstr "Création de l'utilisateur et de la base de données" - -msgid "Database Configuration" -msgstr "Configuration de la base de données" - -msgid "Database Installation" -msgstr "Installation de la base de données" - -msgid "Database Server Parameters" -msgstr "Paramètres du serveur de base de données" - -msgid "Database Server Port:" -msgstr "Port du serveur de base de données :" - -msgid "Database Name" -msgstr "Nom de la base de données" - -msgid "Database Name:" -msgstr "Nom de la base de données :" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Déploiement d'Alfresco Content Services en cours... Veuillez patienter quelques minutes." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Voulez-vous installer PostgreSQL en tant que service Windows ?" - -msgid "Easy - Install using the default configuration." -msgstr "Facile - Installation avec la configuration par défaut." - -msgid "Extension Files" -msgstr "Fichiers d'extension" - -msgid "Google Docs Integration" -msgstr "Intégration de Google Docs" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Je souhaite utiliser une base de données PostgreSQL existante." - -msgid "I want to use an existing Tomcat instance." -msgstr "Je souhaite utiliser une instance de Tomcat existante." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Je souhaite utiliser la base de données PostgreSQL incluse dans ce programme d'installation." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Je souhaite utiliser l'instance de Tomcat incluse dans ce programme d'installation." - -msgid "IMAP TCP port in use." -msgstr "Port TCP IMAP en cours d'utilisation." - -msgid "IMAP Port" -msgstr "Port IMAP" - -msgid "IP / Hostname" -msgstr "IP/Nom d'hôte" - -msgid "Include Alfresco Web Quick Start." -msgstr "Inclure Alfresco Web Quick Start." - -msgid "Include Google Docs Integration Features." -msgstr "Inclure les fonctions d'intégration de Google Docs." - -msgid "Initializing database" -msgstr "Initialisation de la base de données" - -msgid "Install ${product_fullname} as a service?" -msgstr "Installer ${product_fullname} en tant que service ?" - -msgid "Install ${product_fullname} as service" -msgstr "Installer ${product_fullname} en tant que service" - -msgid "Install PostgreSQL as a service?" -msgstr "Installer PostgreSQL en tant que service ?" - -msgid "Install as a service" -msgstr "Installer en tant que service" - -msgid "Installation Folder" -msgstr "Dossier d'installation" - -msgid "Installation Type" -msgstr "Type d'installation" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "Le chemin du répertoire d'installation est trop long. Le nombre maximum de caractères autorisé est de ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Dossier d'installation" - -msgid "Installation folder cannot contain spaces." -msgstr "Le nom du dossier d'installation ne doit pas comporter d'espace." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Installation des Alfresco Module Packages (AMP)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "Installation de LibreOffice en tant que service Windows de nom ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "Installation de PostgreSQL en tant que service Windows de nom ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Installation de Tomcat en tant que service Windows de nom ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "Nombre de descripteurs de fichiers insuffisant" - -msgid "CPU clock speed is too slow" -msgstr "La fréquence d'horloge de l'UC est trop lente" - -msgid "Not enough CPUs (cores) available" -msgstr "Nombre d'UC (cœurs) insuffisant" - -msgid "Not enough system RAM available" -msgstr "Quantité de RAM système disponible insuffisante" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "Vous ne disposez pas des autorisations nécessaires pour établir une liaison avec le port ou celui-ci est déjà occupé par une autre application. Sélectionnez un autre port." - -msgid "JDBC Driver:" -msgstr "Pilote JDBC :" - -msgid "JDBC URL:" -msgstr "URL JDBC :" - -msgid "JDK configuration" -msgstr "Configuration JDK" - -msgid "JDK Installation Directory:" -msgstr "Répertoire d'installation JDK :" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Composant Java requis pour exécuter ${product_fullname}." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Le chemin d'accès Java Home contient des espaces. Alfresco Content Services risque de ne pas fonctionner correctement car le JVM présente des problèmes lorsque le chemin d'installation contient des espaces. Réinstallez le JVM dans un chemin d'installation ne contenant pas d'espaces." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Ce module nécessite que Java soit installé, mais aucune instance de Java n'a été détectée." - -msgid "Launch ${product_fullname}" -msgstr "Lancer ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "Port du serveur LibreOffice" - -msgid "LibreOffice Server Port:" -msgstr "Port du serveur LibreOffice :" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice est une suite bureautique multiplateforme open source comportant un outil de traitement de texte, un tableur, un outil de conception de présentations, de graphiques et de bases de données, requis pour les transformations de documents." - -msgid "Location of bin and lib tomcat folders" -msgstr "Localisation des dossiers bin et lib tomcat" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® est pris en charge uniquement à des fins d'évaluation." - -msgid "Manager Tool" -msgstr "Outil de gestionnaire" - -msgid "Manual - Configure servers to start services manually" -msgstr "Manuel - Configure les serveurs pour un démarrage manuel des services" - -msgid "New Component" -msgstr "Nouveau composant" - -msgid "New Folder" -msgstr "Nouveau dossier" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Le produit installé n'est pas PostgreSQL version 9.4.4. PostgreSQL 9.4.4 est la version recommandée." - -msgid "Password" -msgstr "Mot de passe" - -msgid "Password must not contain leading or trailing spaces." -msgstr "Le mot de passe ne doit pas contenir d'espaces de début ou de fin." - -msgid "Password:" -msgstr "Mot de passe :" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Sélectionnez un dossier d'installation de ${product_fullname}." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Choisissez un numéro de port dédié aux commandes à distance exécutées par Alfresco Content Services." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Choisissez un numéro de port pour le serveur FTP intégré." - -msgid "Enter a valid IP address or hostname." -msgstr "Saisissez une adresse IP ou un nom d'hôte valide." - -msgid "Enter the IP address or hostname for your database." -msgstr "Saisissez l'adresse IP ou le nom d'hôte de votre base de données." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Saisissez vos paramètres de configuration Tomcat." - -msgid "Enter the port of your database." -msgstr "Saisissez le port de votre base de données." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Saisissez le port que le serveur LibreOffice écoutera." - -msgid "Enter your database 'postgres' user password." -msgstr "Saisissez votre mot de passe d'utilisateur 'postgres' de base de données." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Spécifiez un mot de passe pour le compte administrateur Alfresco Content Services." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Sélectionnez un répertoire d'installation différent. Le répertoire d'installation ne peut pas contenir de liens symboliques." - -msgid "Select services startup type." -msgstr "Sélectionnez le type de démarrage des services." - -msgid "Select a Tomcat configuration" -msgstr "Sélectionnez une configuration de Tomcat" - -msgid "Select a database configuration." -msgstr "Sélectionnez une configuration de base de données." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Sélectionnez ce module pour permettre aux applications capables de communiquer avec un serveur SharePoint de communiquer avec votre installation Alfresco Content Services." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Sélectionnez ce module pour permettre aux applications capables de communiquer avec un serveur SharePoint de communiquer avec votre installation Alfresco Content Services (module propriétaire sous licence du composant Alfresco)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Spécifiez le répertoire dans lequel est situé Tomcat." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Spécifiez le répertoire dans lequel sont situés les fichiers binaires psql, pg_restore et vacuumdb." - -msgid "Enter CIFS ports configuration." -msgstr "Saisissez la configuration des ports CIFS." - -msgid "Port:" -msgstr "Port :" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "Répertoire binaire PostgreSQL" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL est un puissant système de base de données relationnelle-objet open source." - -msgid "PostgreSQL postgres user password" -msgstr "Mot de passe utilisateur postgres PostgreSQL" - -msgid "Program Files" -msgstr "Program Files" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "Fichier README" - -msgid "README Folder Component" -msgstr "Composant de dossier README" - -msgid "Re-enter password" -msgstr "Saisir à nouveau le mot de passe" - -msgid "Repeat Password:" -msgstr "Répéter le mot de passe :" - -msgid "SMB Port" -msgstr "Port SMB" - -msgid "SMTP TCP port in use" -msgstr "Port TCP SMTP en cours d'utilisation" - -msgid "SMTP Port" -msgstr "Port SMTP" - -msgid "Select a folder:" -msgstr "Sélectionnez un dossier :" - -msgid "Service Startup Configuration" -msgstr "Configuration du démarrage des services" - -msgid "Service script name" -msgstr "Nom du script de service" - -msgid "Specify the name of the database." -msgstr "Spécifiez le nom de la base de données." - -msgid "Specify the password for the database user." -msgstr "Spécifiez le mot de passe pour l'utilisateur de la base de données." - -msgid "Set the database user." -msgstr "Définissez l'utilisateur de la base de données." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "Le processus d'installation va tenter d'installer de nouvelles bases de données et écraser les éventuels doublons. Souhaitez-vous continuer ?" - -msgid "Shortcuts Images" -msgstr "Images des raccourcis" - -msgid "Show next steps" -msgstr "Voir les prochaines étapes" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Une ou plusieurs bibliothèques nécessaires à la prise en charge de LibreOffice sont introuvables sur votre système : fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nNous vous recommandons vivement d'abandonner cette installation et d'installer d'abord les bibliothèques.\nPour plus d'informations, consultez la documentation LibreOffice à l'adresse http://docs.alfresco.com\n\nSouhaitez-vous poursuivre l'installation ?" - -msgid "We support PostgreSQL as service only." -msgstr "Nous prenons en charge PostgreSQL en tant que service uniquement." - -msgid "You need to be an administrator." -msgstr "Vous devez être administrateur." - -msgid "Start ${product_fullname} service" -msgstr "Démarrer le service ${product_fullname}" - -msgid "Starting LibreOffice..." -msgstr "Démarrage de LibreOffice..." - -msgid "Starting servers..." -msgstr "Démarrage des serveurs..." - -msgid "Stop ${product_fullname} service" -msgstr "Arrêter le service ${product_fullname}" - -msgid "Stopping PostgreSQL..." -msgstr "Arrêt de PostgreSQL..." - -msgid "Stopping Services" -msgstr "Arrêt des services" - -msgid "Stopping servers" -msgstr "Arrêt des serveurs" - -msgid "Stopping services" -msgstr "Arrêt des services" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "Le fichier de script du service ${product_shortname} est déjà présent. Utilisez un autre nom pour le script du service." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "La taille du répertoire de données augmente au fil du temps. Sélectionnez l'emplacement du répertoire de données." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "Les utilisateurs ordinaires (non root) ne peuvent pas accéder au répertoire d'installation actuel. Sélectionnez un répertoire d'installation différent ou modifiez les autorisations de ce dossier pour les définir sur 755." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "Le répertoire sélectionné n'est pas un répertoire JDK valide. Choisissez un autre répertoire." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "Le répertoire sélectionné n'est pas un répertoire Tomcat valide. Choisissez un autre répertoire." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "Le chemin du répertoire d'installation doit contenir uniquement des lettres, des chiffres et les caractères '/', '.', ‘-‘ et '_'." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "L'installation n'a pas pu aboutir car le umask actuel est défini pour les autorisations ${base_umask}. Modifiez le paramètre umask pour le définir sur 0022 au minimum, avant de relancer le programme d'installation. À l'issue de l'installation, réinitialisez les autorisations du umask à ses valeurs d'origine." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "Le programme d'installation n'a pas pu accéder à l'espace actuellement disponible sur ${installdir}. Vérifiez que l'espace disponible est suffisant pour installer ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "Le mot de passe doit comporter plus de 3 caractères." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "Le chemin ${postgres_binary_directory} ne comporte pas de fichier exécutable pg_restore." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "Le chemin ${postgres_binary_directory} ne comporte pas de fichier exécutable pg_vacuumdb." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "Le chemin ${postgres_binary_directory} n'est pas valide. Vérifiez que le répertoire contient les fichiers binaires requis." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "Le dossier sélectionné n'est pas vide. Spécifiez un autre dossier." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "Le fichier de script du service est déjà présent. Insérez un autre nom pour le script du service." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "La version de Java sélectionnée est de 32 bits, alors que cette installation d'Alfresco Content Services est de 64 bits. Installez une version 64 bits de Java avant de continuer, ou retournez en arrière et vérifiez que le composant "Java" est sélectionné." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "L'espace disponible dans ${installdir} est insuffisant. Vous avez besoin d'au moins ${base_needed_space} Mo pour installer ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Cet environnement n'est pas configuré pour fonctionner de manière optimale avec Alfresco Content Services. Lisez attentivement cette liste avant de continuer.\n\nSi ces problèmes n'empêchent pas le fonctionnement d'Alfresco Content Services, certaines fonctionnalités du produit risquent toutefois de ne pas être disponibles ou le système risque de ne pas fonctionner de manière optimale." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "Ce programme d'installation est conçu pour Windows 64 bits. Téléchargez la version Windows 32 bits." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Cette version a été conçue pour s'exécuter sur J2SE ${java_min_version} ou une version ultérieure. Installez une version Java compatible et réessayez." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Cette version a été conçue pour s'exécuter sur J2SE ${java_min_version}. Installez une version Java compatible et réessayez." - -msgid "Tomcat AJP Port:" -msgstr "Port AJP Tomcat :" - -msgid "Tomcat Directory" -msgstr "Répertoire Tomcat" - -msgid "Tomcat JMX Port:" -msgstr "Port JMX Tomcat :" - -msgid "Tomcat Port Configuration" -msgstr "Configuration du port Tomcat" - -msgid "Tomcat SSL Port:" -msgstr "Port SSL Tomcat :" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Le port de serveur Tomcat et le port d'arrêt Tomcat doivent être différents. Sélectionnez un autre port d'arrêt Tomcat." - -msgid "Tomcat Server Port:" -msgstr "Port de serveur Tomcat :" - -msgid "Tomcat Shutdown Port:" -msgstr "Port d'arrêt Tomcat :" - -msgid "Tomcat Directory:" -msgstr "Répertoire Tomcat :" - -msgid "Tomcat Installation:" -msgstr "Installation de Tomcat :" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Liaison au numéro de port indiqué impossible. Sélectionnez un autre port FTP." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Liaison au numéro de port indiqué impossible. Sélectionnez un autre port RMI." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Liaison au numéro de port indiqué impossible. Sélectionnez un autre port Tomcat AJP." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Liaison au numéro de port indiqué impossible. Sélectionnez un autre port Tomcat JMX." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Liaison au numéro de port indiqué impossible. Sélectionnez un autre port Tomcat SSL." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Liaison au numéro de port indiqué impossible. Sélectionnez un autre port de serveur Tomcat." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Liaison au numéro de port indiqué impossible. Sélectionnez un autre port d'arrêt Tomcat." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "Utilisez uniquement des chiffres dans les champs de configuration des ports. Les autres caractères ne sont pas autorisés." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Liaison au port du serveur impossible. Assurez-vous que ${serverName} n'est pas en cours d'exécution." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Connexion à la base de données impossible. Vérifiez votre configuration." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Aucun serveur en cours d'exécution sur le numéro de port indiqué. Sélectionnez un autre port." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Aucun serveur en cours d'exécution sur le port ${postgres_port}. Démarrez votre serveur de base de données." - -msgid "Couldn’t get free disk space." -msgstr "Impossible d'obtenir de l'espace libre sur le disque." - -msgid "Uninstall ${product_fullname}" -msgstr "Désinstaller ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "Désinstaller le service ${product_fullname}" - -msgid "Uninstalling service" -msgstr "Désinstallation du service" - -msgid "Uninstalling services" -msgstr "Désinstallation des services" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Permet de configurer la destination du contenu dans le dossier des commandes" - -msgid "User" -msgstr "Utilisateur" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "Le nom d'utilisateur '${username}' est réservé. Utilisez un nom d'utilisateur différent." - -msgid "Username:" -msgstr "Nom d'utilisateur :" - -msgid "Verify:" -msgstr "Vérifier :" - -msgid "Waiting for PostgreSQL to start" -msgstr "En attente du démarrage de PostgreSQL" - -msgid "Waiting for Postmaster" -msgstr "En attente de Postmaster" - -msgid "War files" -msgstr "Fichiers .war" - -msgid "Warning" -msgstr "Avertissement" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "Aucune installation JDK adaptée n'a été détectée dans votre système. ${product_fullname} nécessite JDK ${java_min_version} ou une version ultérieure." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Serveur Web" - -msgid "Web Server Domain:" -msgstr "Domaine du serveur Web :" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "Vous essayez d'installer une application Ruby ${rubyVersion} dans une pile Bitnami non prise en charge. Téléchargez et installez la version ${rubyVersion} de Ruby Stack sur le site bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Si vous enregistrez ${product_fullname} en tant que service, le démarrage de ${product_fullname} s'exécutera automatiquement à chaque démarrage de la machine." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "Vous avez sélectionné Tomcat en tant qu'installation existante. Redémarrez Tomcat pour utiliser les nouvelles applications installées." - -msgid "Select at least one of the Solr components." -msgstr "Sélectionnez au moins l'un des composants Solr." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Utilisez uniquement des caractères ASCII pour spécifier le mot de passe dans le programme d'installation. Si vous souhaitez utiliser des caractères non-ASCII, vous pourrez modifier le mot de passe à l'issue de l'installation." - -msgid "Connect Alfresco Share to the repository" -msgstr "Connecter Alfresco Share à l'entrepôt" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Saisissez l'emplacement de votre entrepôt Alfresco Content Services." - -msgid "Repository location: " -msgstr "Emplacement de l'entrepôt : " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Installez Solr 1.4 uniquement pour la mise à niveau depuis une version antérieure d'Alfresco Content Services." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr est une plateforme de recherche open source qui utilise Apache Lucene comme moteur de recherche et d'indexation. Solr 4 offre des caractéristiques d'évolutivité, des performances et une souplesse supérieures à celles de Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "Liaison au numéro de port indiqué impossible." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Liaison au numéro de port indiqué impossible. Ce port est déjà utilisé par le processus ${process_binding_port}. Sélectionnez un autre port de serveur ${serverName}." - -msgid "Remote Solr configuration" -msgstr "Configuration Solr à distance" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Entrez l'hôte et le port Solr pour la connexion à Alfresco Content Services :" - -msgid "Solr host:" -msgstr "Hôte Solr :" - -msgid "Solr SSL port:" -msgstr "Port SSL Solr :" - -msgid "Sharded Solr installation" -msgstr "Installation Solr avec partitionnement" - -msgid "Are you using a sharded Solr installation?" -msgstr "Utilisez-vous une installation Solr avec partitionnement ?" - -msgid "Yes" -msgstr "Oui" - -msgid "No" -msgstr "Non" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Veuillez lire le contrat de licence suivant. Vous devez accepter ses conditions avant de poursuivre l'installation." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-it.po b/installer-resources/src/main/resources/bitrock/lang/alf-it.po deleted file mode 100755 index a1323061e7..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-it.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB di RAM non sono sufficienti per eseguire Alfresco Content Services per scopi di test o produzione. Alfresco Content Services potrebbe non funzionare correttamente e, se anche lo farà, le prestazioni non saranno ottimali. Aggiornare il server per avere almeno ${minimum_ramGB} GB di RAM (${recommended_ramGB} GB consigliati)." - -msgid "${product_fullname} LibreOffice Service" -msgstr "Servizio LibreOffice ${product_fullname}" - -msgid "${product_fullname} Service" -msgstr "Servizio ${product_fullname}" - -msgid "${product_shortname} Manager Tool" -msgstr "Strumento di gestione ${product_shortname}" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "Microsoft Windows® a 32 bit è supportato solo per l'utilizzo come versione di prova." - -msgid "64-bit architecture recommended" -msgstr "Si consiglia un'architettura a 64 bit" - -msgid "Admin Password" -msgstr "Password amministratore" - -msgid "Admin Password:" -msgstr "Password amministratore:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Avanzata - Configura le porte dei server e le proprietà dei servizi." - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Sistema Alfresco Content Services ECM (Enterprise Content Management) che include funzionalità per la gestione di documenti, la collaboration e la gestione di immagini." - -msgid "FTP Port" -msgstr "Porta FTP" - -msgid "Alfresco Module Packages" -msgstr "Pacchetti di moduli Alfresco" - -msgid "RMI Port" -msgstr "Porta RMI" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Scorciatoie" - -msgid "Validations" -msgstr "Validazioni" - -msgid "Alfresco Website" -msgstr "Sito web Alfresco" - -msgid "Data Directory" -msgstr "Directory dei dati" - -msgid "Choose optional components to install." -msgstr "Scegliere i componenti opzionali da installare." - -msgid "Auto - Configure servers to start automatically" -msgstr "Auto - Configura l'avvio automatico dei server" - -msgid "CIFS TCP ports in use" -msgstr "Porte TCP CIFS in uso" - -msgid "CIFS UDP ports in use" -msgstr "Porte UDP CIFS in uso" - -msgid "CIFS protocol ports configuration" -msgstr "Configurazione porte protocollo CIFS" - -msgid "CIFS server port" -msgstr "Porta server CIFS" - -msgid "CIFS server port 1" -msgstr "Porta server CIFS 1" - -msgid "CIFS server port 2" -msgstr "Porta server CIFS 2" - -msgid "Configuration Files" -msgstr "File di configurazione" - -msgid "Creating user and database" -msgstr "Creazione dell'utente e del database" - -msgid "Database Configuration" -msgstr "Configurazione database" - -msgid "Database Installation" -msgstr "Installazione database" - -msgid "Database Server Parameters" -msgstr "Parametri del server database" - -msgid "Database Server Port:" -msgstr "Porta del server database:" - -msgid "Database Name" -msgstr "Nome database" - -msgid "Database Name:" -msgstr "Nome database:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Implementazione di Alfresco Content Services in corso... L'operazione potrebbe richiedere fino a cinque minuti." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Installare PostgreSQL come servizio Windows?" - -msgid "Easy - Install using the default configuration." -msgstr "Facile - Installa i server utilizzando la configurazione predefinita." - -msgid "Extension Files" -msgstr "File di estensione" - -msgid "Google Docs Integration" -msgstr "Integrazione con Google Docs" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Desidero utilizzare un database PostgreSQL esistente." - -msgid "I want to use an existing Tomcat instance." -msgstr "Desidero utilizzare un'istanza Tomcat esistente." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Desidero utilizzare il database PostgreSQL in bundle." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Desidero utilizzare l'istanza Tomcat in bundle." - -msgid "IMAP TCP port in use." -msgstr "Porta TCP IMAP in uso." - -msgid "IMAP Port" -msgstr "Porta IMAP" - -msgid "IP / Hostname" -msgstr "IP/Nome host" - -msgid "Include Alfresco Web Quick Start." -msgstr "Includi Alfresco Web Quick Start." - -msgid "Include Google Docs Integration Features." -msgstr "Includi funzionalità di integrazione con Google Docs." - -msgid "Initializing database" -msgstr "Inizializzazione del database" - -msgid "Install ${product_fullname} as a service?" -msgstr "Installare ${product_fullname} come servizio?" - -msgid "Install ${product_fullname} as service" -msgstr "Installa ${product_fullname} come servizio" - -msgid "Install PostgreSQL as a service?" -msgstr "Installare PostgreSQL come servizio?" - -msgid "Install as a service" -msgstr "Installa come servizio" - -msgid "Installation Folder" -msgstr "Cartella di installazione" - -msgid "Installation Type" -msgstr "Tipo di installazione" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "Il percorso della directory di installazione è troppo lungo. Il numero massimo di caratteri consentito è ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Cartella di installazione" - -msgid "Installation folder cannot contain spaces." -msgstr "La cartella di installazione non può contenere spazi." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Installazione dei pacchetti di moduli Alfresco (AMP)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "Installazione di LibreOffice come servizio Windows con il nome ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "Installazione di PostgreSQL come servizio Windows con il nome ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Installazione di Tomcat come servizio Windows con il nome ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "Descrizioni dei file disponibili insufficienti" - -msgid "CPU clock speed is too slow" -msgstr "La velocità di clock della CPU è troppo lenta" - -msgid "Not enough CPUs (cores) available" -msgstr "Non sono disponibili CPU (core) sufficienti" - -msgid "Not enough system RAM available" -msgstr "La RAM di sistema disponibile è insufficiente" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "Non si dispone dei permessi necessari per stabilire l'associazione alla porta oppure la porta è già utilizzata da un'altra applicazione. Selezionare un'altra porta." - -msgid "JDBC Driver:" -msgstr "Driver JDBC:" - -msgid "JDBC URL:" -msgstr "URL JDBC:" - -msgid "JDK configuration" -msgstr "Configurazione JDK" - -msgid "JDK Installation Directory:" -msgstr "Directory di installazione di JDK:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Componente Java necessario per l'esecuzione di ${product_fullname}." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Il percorso Java Home contiene spazi. Alfresco Content Services potrebbe non funzionare correttamente, in quanto JVM presenta problemi quando il percorso di installazione contiene spazi. Reinstallare JVM in un percorso che non contiene spazi." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Questo modulo richiede Java e non è stata rilevata alcuna istanza Java." - -msgid "Launch ${product_fullname}" -msgstr "Avvia ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "Porta server LibreOffice" - -msgid "LibreOffice Server Port:" -msgstr "Porta server LibreOffice:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice è una suite di software multipiattaforma e open-source per l'ufficio che fornisce strumenti di elaborazione testi, fogli di calcolo, presentazioni, grafica e database per la trasformazione di documenti." - -msgid "Location of bin and lib tomcat folders" -msgstr "Posizione delle cartelle Tomcat bin e lib" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® è supportato solo per l'utilizzo come versione di prova." - -msgid "Manager Tool" -msgstr "Strumento di gestione" - -msgid "Manual - Configure servers to start services manually" -msgstr "Manuale - Configura i server per l'avvio manuale dei servizi" - -msgid "New Component" -msgstr "Nuovo componente" - -msgid "New Folder" -msgstr "Nuova cartella" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Installazione diversa da PostgreSQL versione 9.4.4. Si consiglia di utilizzare PostgreSQL 9.4.4." - -msgid "Password" -msgstr "Password" - -msgid "Password must not contain leading or trailing spaces." -msgstr "La password non deve contenere spazi iniziali o finali." - -msgid "Password:" -msgstr "Password:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Scegliere una cartella per l'installazione di ${product_fullname}." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Scegliere un numero di porta per Alfresco Content Services da utilizzare per l'esecuzione di comandi remoti." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Scegliere un numero di porta per il server FTP integrato." - -msgid "Enter a valid IP address or hostname." -msgstr "Immettere un indirizzo IP o un nome host valido." - -msgid "Enter the IP address or hostname for your database." -msgstr "Immettere l'indirizzo IP o il nome host del database." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Immettere i parametri di configurazione Tomcat." - -msgid "Enter the port of your database." -msgstr "Immettere la porta del database." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Immettere la porta di cui il server LibreOffice resterà in ascolto." - -msgid "Enter your database 'postgres' user password." -msgstr "Immettere la password dell'utente postgres del database." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Specificare una password per l'account amministratore di Alfresco Content Services." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Selezionare una directory di installazione diversa. La directory di installazione non può contenere link simbolici." - -msgid "Select services startup type." -msgstr "Selezionare il tipo di avvio dei servizi." - -msgid "Select a Tomcat configuration" -msgstr "Selezionare una configurazione Tomcat." - -msgid "Select a database configuration." -msgstr "Selezionare una configurazione del database." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Selezionare questo modulo per consentire alle applicazioni che comunicano con un server SharePoint di comunicare con l'installazione di Alfresco Content Services." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Selezionare questo modulo per consentire alle applicazioni che comunicano con un server SharePoint di comunicare con l'installazione di Alfresco Content Services (modulo proprietario coperto dalla Licenza per componenti di Alfresco)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Specificare la directory in cui si trova Tomcat." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Specificare la directory in cui si trovano i dati binari di psql, pg_restore e vacuumdb." - -msgid "Enter CIFS ports configuration." -msgstr "Inserire la configurazione delle porte CIFS." - -msgid "Port:" -msgstr "Porta:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "Directory binaria di PostgreSQL" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL è un potente sistema di database relazionale ad oggetti open-source." - -msgid "PostgreSQL postgres user password" -msgstr "Password dell'utente postgres di PostgreSQL" - -msgid "Program Files" -msgstr "File di programma" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "File README" - -msgid "README Folder Component" -msgstr "Componente cartella README" - -msgid "Re-enter password" -msgstr "Reimmettere la password" - -msgid "Repeat Password:" -msgstr "Ripetere la password:" - -msgid "SMB Port" -msgstr "Porta SMB" - -msgid "SMTP TCP port in use" -msgstr "Porte TCP SMTP in uso" - -msgid "SMTP Port" -msgstr "Porta SMTP" - -msgid "Select a folder:" -msgstr "Selezionare una cartella:" - -msgid "Service Startup Configuration" -msgstr "Configurazione avvio servizi" - -msgid "Service script name" -msgstr "Nome script servizio" - -msgid "Specify the name of the database." -msgstr "Specificare il nome del database." - -msgid "Specify the password for the database user." -msgstr "Specificare la password per l'utente del database." - -msgid "Set the database user." -msgstr "Impostare l'utente del database." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "Il programma di installazione tenterà di installare nuovi database e sovrascriverà eventuali duplicati. Continuare?" - -msgid "Shortcuts Images" -msgstr "Immagini delle scorciatoie" - -msgid "Show next steps" -msgstr "Mostra i passaggi successivi" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Alcune o tutte le librerie necessarie per il supporto di LibreOffice non sono state trovare nel sistema: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nSi consiglia vivamente di interrompere l'installazione e di installare le librerie.\nPer maggiori informazioni, consultare la documentazione LibreOffice all'indirizzo http://docs.alfresco.com\n\nContinuare con l'installazione?" - -msgid "We support PostgreSQL as service only." -msgstr "PostgreSQL è supportato solo come servizio." - -msgid "You need to be an administrator." -msgstr "È necessario avere il ruolo di amministratore." - -msgid "Start ${product_fullname} service" -msgstr "Avvia servizio ${product_fullname}" - -msgid "Starting LibreOffice..." -msgstr "Avvio di LibreOffice in corso..." - -msgid "Starting servers..." -msgstr "Avvio dei server in corso..." - -msgid "Stop ${product_fullname} service" -msgstr "Arresta servizio ${product_fullname}" - -msgid "Stopping PostgreSQL..." -msgstr "Arresto di PostgreSQL in corso..." - -msgid "Stopping Services" -msgstr "Arresto dei servizi" - -msgid "Stopping servers" -msgstr "Arresto dei server" - -msgid "Stopping services" -msgstr "Arresto dei servizi" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "Il file di script del servizio ${product_shortname} esiste già. Utilizzare un nome diverso per lo script del servizio." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "La directory dei dati assume dimensioni sempre maggiori nel tempo. Scegliere dove si desidera memorizzarla." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "Gli utenti non root non possono accedere alla directory di installazione attuale. Selezionare una directory di installazione diversa o modificare i permessi su 755 per questa cartella." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "La directory selezionata non è una directory JDK valida. Selezionare un'altra directory." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "La directory selezionata non è una directory Tomcat valida. Selezionare un'altra directory." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "La cartella di installazione deve essere un percorso contenente solo lettere, numeri e i caratteri '/', '.', '-' e '_'." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "L'installazione non è stata completata perché la umask attuale è impostata sui permessi di ${base_umask}. Modificare la umask su almeno 0022 prima di avviare nuovamente il programma di installazione. Dopo aver completato l'installazione, ripristinare i permessi dell'umask sui valori originali." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "Impossibile accedere allo spazio attualmente disponibile in ${installdir}. Verificare che lo spazio disponibile sia sufficiente per l'installazione di ${product_fullname}." - -msgid "The password must be longer than 3 characters." -msgstr "La lunghezza della password deve essere superiore a 3 caratteri." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "Il percorso ${postgres_binary_directory} non contiene un file eseguibile pg_restore." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "Il percorso ${postgres_binary_directory} non contiene un file eseguibile pg_vacuumdb." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "Il percorso ${postgres_binary_directory} non è valido. Verificare che la directory contenga i file binari necessari." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "La cartella selezionata non è vuota. Specificare una cartella diversa." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "Il file di script del servizio esiste già. Immettere un nome diverso per lo script del servizio." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "La versione di Java selezionata è a 32 bit ma questa è un'installazione a 64 bit di Alfresco Content Services. Installare una versione a 64 bit di Java prima di continuare oppure tornare indietro e assicurarsi di aver selezionato il componente "Java"." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "Lo spazio disponibile in ${installdir} non è sufficiente. Sono necessari almeno ${base_needed_space} MB per l'installazione di ${product_fullname}." - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Questo ambiente non è configurato in modo ottimale per Alfresco Content Services, rivedere questo elenco prima di continuare.\n\nAnche se queste problematiche non impediscono il funzionamento di Alfresco Content Services, alcune funzionalità del prodotto potrebbero non essere disponibili oppure il sistema potrebbe non funzionare in modo ottimale." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "Questo è il programma di installazione per Windows a 64 bit. Scaricare la versione per Windows a 32 bit." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Questa versione fa parte di un pacchetto destinato all'esecuzione in J2SE ${java_min_version} o versioni successive. Installare una versione di Java compatibile e riprovare." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Questa versione fa parte di un pacchetto destinato all'esecuzione in J2SE ${java_min_version}. Installare una versione di Java compatibile e riprovare." - -msgid "Tomcat AJP Port:" -msgstr "Porta AJP di Tomcat:" - -msgid "Tomcat Directory" -msgstr "Directory Tomcat" - -msgid "Tomcat JMX Port:" -msgstr "Porta JMX di Tomcat:" - -msgid "Tomcat Port Configuration" -msgstr "Configurazione porte Tomcat" - -msgid "Tomcat SSL Port:" -msgstr "Porta SSL di Tomcat:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "La porta del server Tomcat e la porta di arresto di Tomcat non possono coincidere. Selezionare un'altra porta di arresto di Tomcat." - -msgid "Tomcat Server Port:" -msgstr "Porta server Tomcat:" - -msgid "Tomcat Shutdown Port:" -msgstr "Porta di arresto di Tomcat:" - -msgid "Tomcat Directory:" -msgstr "Directory Tomcat:" - -msgid "Tomcat Installation:" -msgstr "Installazione di Tomcat:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Selezionare un'altra porta FTP." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Selezionare un'altra porta RMI." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Selezionare un'altra porta Tomcat AJP." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Selezionare un'altra porta Tomcat JMX." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Selezionare un'altra porta Tomcat SSL." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Selezionare un'altra porta del server Tomcat." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Selezionare un'altra porta di arresto di Tomcat." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "Utilizzare solo numeri nei campi di configurazione della porta. Non sono ammessi altri caratteri." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Impossibile stabilire un'associazione alla porta del server. Assicurarsi che ${serverName} non sia in esecuzione." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Impossibile stabilire la connessione al database. Verificare la configurazione in uso." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Impossibile trovare un server in esecuzione su questo numero di porta. Selezionare un'altra porta." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Impossibile trovare un server in esecuzione sulla porta ${postgres_port}. Avviare il server del database." - -msgid "Couldn’t get free disk space." -msgstr "Impossibile determinare lo spazio su disco disponibile." - -msgid "Uninstall ${product_fullname}" -msgstr "Disinstalla ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "Disinstalla servizio ${product_fullname}" - -msgid "Uninstalling service" -msgstr "Disinstallazione del servizio" - -msgid "Uninstalling services" -msgstr "Disinstallazione dei servizi" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Consente di configurare la destinazione dei contenuti nella cartella dei comandi" - -msgid "User" -msgstr "Utente" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "Il nome utente '${username}' è già in uso. Utilizzare un nome utente diverso." - -msgid "Username:" -msgstr "Nome utente:" - -msgid "Verify:" -msgstr "Verifica:" - -msgid "Waiting for PostgreSQL to start" -msgstr "In attesa dell'avvio di PostgreSQL" - -msgid "Waiting for Postmaster" -msgstr "In attesa di Postmaster" - -msgid "War files" -msgstr "File WAR" - -msgid "Warning" -msgstr "Avviso" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "Impossibile trovare un'installazione di JDK idonea nel sistema in uso. ${product_fullname} richiede JDK ${java_min_version} o versione successiva." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Server web" - -msgid "Web Server Domain:" -msgstr "Dominio server web:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "Si sta tentando di installare un'applicazione basata su Ruby ${rubyVersion} non supportata in un Bitnami stack. Scaricare e installare Ruby Stack ${rubyVersion} dal sito bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Se si registra ${product_fullname} come servizio, ${product_fullname} verrà avviato automaticamente all'avvio della macchina." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "È stato scelto Tomcat come installazione esistente. Riavviare Tomcat per utilizzare eventuali nuove applicazioni installate." - -msgid "Select at least one of the Solr components." -msgstr "Selezionare almeno uno dei componenti Solr." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Utilizzare caratteri ASCII solo quando si imposta la password nel programma di installazione. Se si desidera utilizzare caratteri non ASCII, è possibile reimpostare la password dopo l'installazione." - -msgid "Connect Alfresco Share to the repository" -msgstr "Connettere Alfresco Share al repository" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Immettere la posizione del repository Alfresco Content Services." - -msgid "Repository location: " -msgstr "Posizione repository: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Installare Solr 1.4 solo per gli aggiornamenti di versioni precedenti di Alfresco Content Services." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr è una piattaforma di ricerca enterprise open-source che utilizza Apache Lucene come motore di indicizzazione e ricerca. Rispetto a Solr 1, Solr 4 presenta miglioramenti in termini di scalabilità, prestazioni e flessibilità." - -msgid "Unable to bind to the given port number." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Impossibile stabilire un'associazione al numero di porta specificato. Questa porta è già utilizzata dal processo ${process_binding_port}. Selezionare un'altra porta del server ${serverName}." - -msgid "Remote Solr configuration" -msgstr "Configurazione Solr remota" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Immettere l'host e la porta Solr per la connessione con Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Host Solr:" - -msgid "Solr SSL port:" -msgstr "Porta SSL Solr:" - -msgid "Sharded Solr installation" -msgstr "Installazione Solr con sharding" - -msgid "Are you using a sharded Solr installation?" -msgstr "Si utilizza un'installazione Solr con sharding?" - -msgid "Yes" -msgstr "Sì" - -msgid "No" -msgstr "No" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Leggere il seguente accordo di licenza. È necessario accettare le condizioni di questo accordo prima di procedere all'installazione." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-ja.po b/installer-resources/src/main/resources/bitrock/lang/alf-ja.po deleted file mode 100755 index 50d235f170..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-ja.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB の RAM では、テストまたは本番環境で Alfresco Content Services を実行するには不十分です。Alfresco Content Services が正しく動作しないことがあり、その場合は正常に機能しません。サーバーの RAM を最低 ${minimum_ramGB} GB にアップグレードしてください。推奨 RAM サイズは ${recommended_ramGB} GB です。" - -msgid "${product_fullname} LibreOffice Service" -msgstr "${product_fullname} LibreOffice サービス" - -msgid "${product_fullname} Service" -msgstr "${product_fullname} サービス" - -msgid "${product_shortname} Manager Tool" -msgstr "${product_shortname} 管理者ツール" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "32 ビットの Microsoft Windows® で使用できるのは評価版のみです。" - -msgid "64-bit architecture recommended" -msgstr "64 ビットアーキテクチャを使用することをお勧めします" - -msgid "Admin Password" -msgstr "管理者のパスワード" - -msgid "Admin Password:" -msgstr "管理者のパスワード:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "詳細設定 - サーバーのポートとサービスのプロパティを設定できます。" - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community エディション" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Alfresco Content Services エンタープライズコンテンツ管理 (ECM) システムは、文書管理、コラボレーション管理、画像管理に特化したシステムです。" - -msgid "FTP Port" -msgstr "FTP ポート" - -msgid "Alfresco Module Packages" -msgstr "Alfresco モジュールパッケージ" - -msgid "RMI Port" -msgstr "RMI ポート" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "ショートカット" - -msgid "Validations" -msgstr "検証" - -msgid "Alfresco Website" -msgstr "Alfresco Web サイト" - -msgid "Data Directory" -msgstr "データディレクトリ" - -msgid "Choose optional components to install." -msgstr "追加でインストールするコンポーネントを選択してください。" - -msgid "Auto - Configure servers to start automatically" -msgstr "自動 - サーバーが自動的に起動するように設定します。" - -msgid "CIFS TCP ports in use" -msgstr "CIFS TCP ポートは使用中です" - -msgid "CIFS UDP ports in use" -msgstr "CIFS UDP ポートは使用中です" - -msgid "CIFS protocol ports configuration" -msgstr "CIFS プロトコルポートの設定" - -msgid "CIFS server port" -msgstr "CIFS サーバーポート" - -msgid "CIFS server port 1" -msgstr "CIFS サーバーポート 1" - -msgid "CIFS server port 2" -msgstr "CIFS サーバーポート 2" - -msgid "Configuration Files" -msgstr "設定ファイル" - -msgid "Creating user and database" -msgstr "ユーザーとデータベースの作成" - -msgid "Database Configuration" -msgstr "データベースの設定" - -msgid "Database Installation" -msgstr "データベースのインストール" - -msgid "Database Server Parameters" -msgstr "データベースサーバーのパラメータ" - -msgid "Database Server Port:" -msgstr "データベースサーバーのポート:" - -msgid "Database Name" -msgstr "データベース名" - -msgid "Database Name:" -msgstr "データベース名" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Alfresco Content Services をデプロイしています... これには最大 5 分かかります。" - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "PostgreSQL を Windows サービスとしてインストールしますか?" - -msgid "Easy - Install using the default configuration." -msgstr "簡易 - デフォルトの設定を使ってインストールします。" - -msgid "Extension Files" -msgstr "拡張ファイル" - -msgid "Google Docs Integration" -msgstr "Google ドキュメントの統合" - -msgid "I want to use an existing PostgreSQL database." -msgstr "既存の PostgreSQL データベースを使用する" - -msgid "I want to use an existing Tomcat instance." -msgstr "既存の Tomcat インスタンスを使用する" - -msgid "I want to use the bundled PostgreSQL database." -msgstr "バンドルされている PostgreSQL データベースを使用する" - -msgid "I want to use the bundled Tomcat instance." -msgstr "バンドルされている Tomcat インスタンスを使用する" - -msgid "IMAP TCP port in use." -msgstr "IMAP TCP ポートは使用中です。" - -msgid "IMAP Port" -msgstr "IMAP ポート" - -msgid "IP / Hostname" -msgstr "IP またはホスト名" - -msgid "Include Alfresco Web Quick Start." -msgstr "Alfresco Web Quick Start が含まれています。" - -msgid "Include Google Docs Integration Features." -msgstr "Google ドキュメントの統合機能が含まれてます。" - -msgid "Initializing database" -msgstr "データベースを初期化しています" - -msgid "Install ${product_fullname} as a service?" -msgstr "${product_fullname} をサービスとしてインストールしますか?" - -msgid "Install ${product_fullname} as service" -msgstr "${product_fullname} をサービスとしてインストールする" - -msgid "Install PostgreSQL as a service?" -msgstr "PostgreSQL をサービスとしてインストールしますか?" - -msgid "Install as a service" -msgstr "サービスとしてインストールする" - -msgid "Installation Folder" -msgstr "インストール先フォルダ" - -msgid "Installation Type" -msgstr "インストールの種類" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "インストールディレクトリのパスが長すぎます。パスの長さは ${base_installdir_max_characters} 文字以内でなければなりません。" - -msgid "Installation folder" -msgstr "インストール先フォルダ" - -msgid "Installation folder cannot contain spaces." -msgstr "インストール先フォルダのパスにスペースを含めることはできません。" - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Alfresco モジュールパッケージ (AMP) をインストールしています" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "LibreOffice を ${LibreOfficeUniqueServiceName} という名前の Windows サービスとしてインストールしています" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "PostgreSQL を ${postgres_unique_service_name} という名前の Windows サービスとしてインストールしています" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Tomcat を ${tomcat_unique_service_name} という名前の Windows サービスとしてインストールしています" - -msgid "Not enough file descriptors available" -msgstr "ファイル記述子が足りません" - -msgid "CPU clock speed is too slow" -msgstr "CPU クロックの速度が遅すぎます" - -msgid "Not enough CPUs (cores) available" -msgstr "CPU (コア) が不十分です" - -msgid "Not enough system RAM available" -msgstr "システムの RAM が不十分です" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "ポートにバインドするための権限がないか、ポートが既に別のアプリケーションで使用されている可能性があります。別のポートを選択してください。" - -msgid "JDBC Driver:" -msgstr "JDBC ドライバー:" - -msgid "JDBC URL:" -msgstr "JDBC の URL:" - -msgid "JDK configuration" -msgstr "JDK の設定" - -msgid "JDK Installation Directory:" -msgstr "JDK のインストールディレクトリ" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "${product_fullname} を実行するには、Java コンポーネントが必要です。" - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Java Home のパスにスペースが含まれています。インストール先のパスにスペースが含まれていると JVM で問題が発生するため、Alfresco Content Services が正しく動作しない場合があります。スペースを含まないパスに JVM をインストールし直してください。" - -msgid "This module requires Java, and no Java instance can be found." -msgstr "このモジュールには Java が必要ですが、Java のインスタンスが見つかりません。" - -msgid "Launch ${product_fullname}" -msgstr "${product_fullname} を起動する" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "LibreOffice サーバーのポート" - -msgid "LibreOffice Server Port:" -msgstr "LibreOffice サーバーのポート:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice は、ワープロ、表計算、プレゼンテーション、グラフィックス、データベースなど、文書の加工に必要なオフィスソフトウェアがすべて揃ったオープンソースのマルチプラットフォームです。" - -msgid "Location of bin and lib tomcat folders" -msgstr "bin フォルダ と lib tomcat フォルダの場所" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® で使用できるのは評価版のみです。" - -msgid "Manager Tool" -msgstr "管理者ツール" - -msgid "Manual - Configure servers to start services manually" -msgstr "手動 - サービスを手動で開始するようにサーバーを設定します。" - -msgid "New Component" -msgstr "新しいコンポーネント" - -msgid "New Folder" -msgstr "新しいフォルダ" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "インストールされている PostgreSQL のバージョンは 9.4.4 ではありません。PostgreSQL 9.4.4 をインストールすることをお勧めします。" - -msgid "Password" -msgstr "パスワード" - -msgid "Password must not contain leading or trailing spaces." -msgstr "パスワードの先頭または末尾にスペースを入れることはできません。" - -msgid "Password:" -msgstr "パスワード:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "${product_fullname} をインストールするフォルダを選択してください。" - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "リモートコマンドの実行に使用する Alfresco Content Services 用ポート番号を選択してください。" - -msgid "Choose a port number for the integrated FTP server." -msgstr "統合された FTP サーバーに使用するポート番号を選択してください。" - -msgid "Enter a valid IP address or hostname." -msgstr "有効な IP アドレスまたはホスト名を入力してください。" - -msgid "Enter the IP address or hostname for your database." -msgstr "データベースの IP アドレスまたはホスト名を入力してください。" - -msgid "Enter your Tomcat configuration parameters." -msgstr "Tomcat の設定パラメータを入力してください。" - -msgid "Enter the port of your database." -msgstr "データベースのポート番号を入力してください。" - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "LibreOffice サーバーがリッスンするポート番号を入力してください。" - -msgid "Enter your database 'postgres' user password." -msgstr "'postgres' データベースユーザーのパスワードを入力してください。" - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Alfresco Content Services 管理者アカウントのパスワードを指定してください。" - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "別のインストールディレクトリを選択してください。インストールディレクトリにシンボリックリンクを含めることはできません。" - -msgid "Select services startup type." -msgstr "サービスのスタートアップの種類を選択してください。" - -msgid "Select a Tomcat configuration" -msgstr "Tomcat の設定を選択してください。" - -msgid "Select a database configuration." -msgstr "データベースの設定を選択してください。" - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "インストールされている Alfresco Content Services に SharePoint サーバー経由でアクセスすることをアプリケーションに許可する場合は、このモジュールを選択します。" - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "インストールされている Alfresco Content Services に SharePoint サーバー経由でアクセスすることをアプリケーションに許可する場合は、 このモジュールを選択します (Alfresco コンポーネントライセンスの下でライセンスされた専用モジュール)。" - -msgid "Specify the directory where Tomcat is located." -msgstr "Tomcat があるディレクトリを指定してください。" - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "psql、pg_restore、vacuumdb のバイナリがあるディレクトリを指定してください。" - -msgid "Enter CIFS ports configuration." -msgstr "CIFS ポートの設定を入力してください。" - -msgid "Port:" -msgstr "ポート:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "PostgreSQL バイナリのディレクトリ" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL は、パワフルなオープンソースのオブジェクト指向リレーショナルデータベースシステムです。" - -msgid "PostgreSQL postgres user password" -msgstr "PostgreSQL postgres ユーザーのパスワード" - -msgid "Program Files" -msgstr "プログラムファイル" - -msgid "README" -msgstr "Readme" - -msgid "README File" -msgstr "Readme ファイル" - -msgid "README Folder Component" -msgstr "Readme フォルダコンポーネント" - -msgid "Re-enter password" -msgstr "パスワードを再入力してください。" - -msgid "Repeat Password:" -msgstr "パスワードの再入力:" - -msgid "SMB Port" -msgstr "SMB ポート" - -msgid "SMTP TCP port in use" -msgstr "使用中の SMTP TCP ポート" - -msgid "SMTP Port" -msgstr "SMTP ポート" - -msgid "Select a folder:" -msgstr "インストール先フォルダ:" - -msgid "Service Startup Configuration" -msgstr "サービスのスタートアップ設定" - -msgid "Service script name" -msgstr "サービスのスクリプト名" - -msgid "Specify the name of the database." -msgstr "データベースの名前を指定してください。" - -msgid "Specify the password for the database user." -msgstr "データベースユーザーのパスワードを指定してください。" - -msgid "Set the database user." -msgstr "データベースユーザーを設定してください。" - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "新しいデータベースがインストールされ、同じ名前の既存のデータベースは上書きされます。操作を続けますか?" - -msgid "Shortcuts Images" -msgstr "ショートカット画像" - -msgid "Show next steps" -msgstr "次の手順を表示" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "LibreOffice に必要な次のライブラリがシステムにありません: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx。\nインストールを中止して、これらのライブラリをインストールしてください。\n詳細については、LibreOffice のマニュアル (http://docs.alfresco.com) をご覧ください。\n\nこのままインストールを続けますか?" - -msgid "We support PostgreSQL as service only." -msgstr "PostgreSQL を使用できるのはサービスとしてのみです。" - -msgid "You need to be an administrator." -msgstr "管理者の権限が必要です。" - -msgid "Start ${product_fullname} service" -msgstr "${product_fullname} サービスの開始" - -msgid "Starting LibreOffice..." -msgstr "LibreOffice を開始しています..." - -msgid "Starting servers..." -msgstr "サーバーを起動しています..." - -msgid "Stop ${product_fullname} service" -msgstr "${product_fullname} サービスの停止" - -msgid "Stopping PostgreSQL..." -msgstr "PostgreSQL を停止しています..." - -msgid "Stopping Services" -msgstr "サービスの停止" - -msgid "Stopping servers" -msgstr "サーバーを停止しています" - -msgid "Stopping services" -msgstr "サービスを停止しています" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "${product_shortname} という名前のサービススクリプトファイルはすでに存在します。別の名前を指定してください。" - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "データディレクトリは、使っていくうちに大きくなります。そのことを考慮して保存先を選択してください。" - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "現在のインストールディレクトリは、ルートユーザーしかアクセスできません。別のインストールディレクトリを選択するか、このフォルダのアクセス権を 755 に変更してください。" - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "選択したディレクトリは、有効な JDK ディレクトリではありません。別のディレクトリを選択してください。" - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "選択したディレクトリは、有効な Tomcat ディレクトリではありません。別のディレクトリを選択してください。" - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "インストールディレクトリのパスに使用できる文字は、日本語、英字、数字、スラッシュ(/)、ピリオド(.)、ハイフン(-)、アンダースコア(_)のみです。" - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "現在の umask に ${base_umask} の権限が設定されているため、インストールが完了しませんでした。インストーラを再起動する前に、umask の設定を 0022 以上に変更してください。インストールが完了したら、umask の権限を元の値に戻してください。" - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "インストーラが ${installdir} の現在の空き容量を確認できませんでした。${product_fullname} のインストールに十分な空き容量があることを確認してください。" - -msgid "The password must be longer than 3 characters." -msgstr "パスワードは 4 文字以上でなければなりません。" - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "${postgres_binary_directory} には、pg_restore の実行可能ファイルが含まれていません。" - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "${postgres_binary_directory} には、pg_vacuumdb の実行可能ファイルが含まれていません。" - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "${postgres_binary_directory} は無効なディレクトリです。ディレクトリに必要なバイナリが含まれていることを確認してください。" - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "選択したフォルダは空ではありません。別のフォルダを指定してください。" - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "このサービススクリプトファイルはすでに存在します。別の名前を指定してください。" - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "選択した Java は 32 ビット版ですが、インストールする Alfresco Content Services は 64 ビット版です。ここで 64 ビット版の Java をインストールするか、前の画面に戻って "Java" コンポーネントが選択されていることを確認してください。" - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "${installdir} に十分な空き容量がありません。${product_fullname} のインストールには、最低 ${base_needed_space} MB 必要です。" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "この環境は Alfresco Content Services を適切に実行するのに十分な構成ではありません。インストールする前に、以下の問題をチェックしてください。\n\nこれらの問題があっても Alfresco Content Services は機能しますが、一部の製品機能が使用できないか、システムが適切に動作しない場合があります。" - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "このインストーラは Windows 64 ビット版用です。Windows 32 ビット版用をダウンロードしてください。" - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "このリリースは J2SE ${java_min_version} 以降で実行するようにパッケージ化されています。互換性のある Java バージョンをインストールしてから、操作をやり直してください。" - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "このリリースは J2SE ${java_min_version} で実行するようにパッケージ化されています。互換性のある Java バージョンをインストールしてから、操作をやり直してください。" - -msgid "Tomcat AJP Port:" -msgstr "Tomcat の AJP ポート:" - -msgid "Tomcat Directory" -msgstr "Tomcat のディレクトリ" - -msgid "Tomcat JMX Port:" -msgstr "Tomcat の JMX ポート:" - -msgid "Tomcat Port Configuration" -msgstr "Tomcat のポート設定" - -msgid "Tomcat SSL Port:" -msgstr "Tomcat の SSL ポート:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Tomcat サーバー用ポートと Tomcat のシャットダウン用ポートを同じにすることはできません。Tomcat のシャットダウン用に別のポートを選択してください。" - -msgid "Tomcat Server Port:" -msgstr "Tomcat サーバー用ポート:" - -msgid "Tomcat Shutdown Port:" -msgstr "Tomcat のシャットダウン用ポート:" - -msgid "Tomcat Directory:" -msgstr "Tomcat のディレクトリ:" - -msgid "Tomcat Installation:" -msgstr "Tomcat のインストール場所:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "指定したポート番号にバインドできません。別の FTP ポートを選択してください。" - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "指定したポート番号にバインドできません。別の RMI ポートを選択してください。" - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "指定したポート番号にバインドできません。別の Tomcat AJP ポートを選択してください" - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "指定したポート番号にバインドできません。別の Tomcat JMX ポートを選択してください" - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "指定したポート番号にバインドできません。別の Tomcat SSL ポートを選択してください" - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "指定したポート番号にバインドできません。別の Tomcat サーバー用ポートを選択してください" - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "指定したポート番号にバインドできません。Tomcat のシャットダウン用に別のポートを選択してください。" - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "ポートの設定フィールドでは数字だけを使用してください。 他の文字は使用できません。" - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "サーバー用ポートにバインドできませんでした。${serverName} が稼働していないことを確認してください。" - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "データベースに接続できませんでした。設定を確認してください。" - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "このポート番号で稼動しているサーバーが見つかりません。別のポートを選択してください。" - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "ポート ${postgres_port} で稼動しているサーバーが見つかりません。データベースサーバーを起動してください。" - -msgid "Couldn’t get free disk space." -msgstr "空きディスク容量を確認できませんでした。" - -msgid "Uninstall ${product_fullname}" -msgstr "${product_fullname} のアンインストール" - -msgid "Uninstall ${product_fullname} service" -msgstr "${product_fullname} サービスのアンインストール" - -msgid "Uninstalling service" -msgstr "サービスのアンインストール" - -msgid "Uninstalling services" -msgstr "サービスをアンインストールしています" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "コマンドフォルダ内にあるコンテンツの掲載先を設定するために使用します。" - -msgid "User" -msgstr "ユーザー" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "ユーザー名「${username}」は、予約されています。別のユーザー名を使用してください。" - -msgid "Username:" -msgstr "ユーザー名:" - -msgid "Verify:" -msgstr "確認:" - -msgid "Waiting for PostgreSQL to start" -msgstr "PostgreSQL の開始待ちです" - -msgid "Waiting for Postmaster" -msgstr "Postmaster の待機中" - -msgid "War files" -msgstr "WAR ファイル" - -msgid "Warning" -msgstr "警告" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "システムに適切な JDK がインストールされていません。${product_fullname} には JDK ${java_min_version} 以降が必要です。" - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Web サーバー" - -msgid "Web Server Domain:" -msgstr "Web サーバードメイン:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "サポートされていない Bitnami スタックにある Ruby ${rubyVersion} ベースのアプリケーションをインストールしようとしています。bitnami.com にある Ruby スタック ${rubyVersion} 版をダウンロードしてインストールしてください。" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "${product_fullname} をサービスとして登録すると、マシンの起動時に自動的に ${product_fullname} が開始されます。" - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "Tomcat を既存のソフトウェアとして選択しました。新たにインストールしたアプリケーションを使用するには、Tomcat を再起動する必要があります。" - -msgid "Select at least one of the Solr components." -msgstr "Solr コンポーネントを最低 1 つを選択してください。" - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "インストーラでパスワードを設定するときは、ASCII 文字を使用してください。非 ASCII 文字を使いたい場合は、インストール後にパスワードをリセットする際にその文字で指定できます。" - -msgid "Connect Alfresco Share to the repository" -msgstr "Alfresco Share をリポジトリに接続する" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Alfresco Content Services 用のリポジトリの場所を入力してください。" - -msgid "Repository location: " -msgstr "リポジトリの場所: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - 旧バージョンの Alfresco Content Services からアップグレードする場合のみ Solr 1.4 をインストールしてください。" - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr は、Apache Lucene をインデックス化/検索エンジンとして使用する、オープンソースのエンタープライズ検索プラットフォームです。Solr 4 は Solr 1 に比べて、拡張性、パフォーマンス、柔軟性に優れています。" - -msgid "Unable to bind to the given port number." -msgstr "指定した番号にバインドできません。" - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "指定した番号にバインドできません。このポートはすでに ${process_binding_port} プロセスで使用されています。別の ${serverName} サーバー用ポートを選択してください。" - -msgid "Remote Solr configuration" -msgstr "リモート Solr の設定" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Alfresco Content Services に接続する Solr ホストとポートを入力してください:" - -msgid "Solr host:" -msgstr "Solr ホスト:" - -msgid "Solr SSL port:" -msgstr "Solr の SSL ポート:" - -msgid "Sharded Solr installation" -msgstr "シャード化された Solr インストール" - -msgid "Are you using a sharded Solr installation?" -msgstr "シャード化された Solr インストールを使いますか?" - -msgid "Yes" -msgstr "はい" - -msgid "No" -msgstr "いいえ" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "以下のライセンス使用許諾契約をお読みください。 インストールするには、これらの規約に同意する必要があります。" diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po b/installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po deleted file mode 100644 index 42ed774181..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-nb_NO.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB med RAM er ikke nok til å kjøre Alfresco Content Services med tanke på testing eller produksjon. Det er mulig at Alfresco Content Services ikke fungerer som den skal, og hvis den gjør det, vil den ikke fungere optimalt. Oppgrader serveren til å ha minst ${minimum_ramGB} GB RAM, og optimal ${recommended_ramGB} GB RAM." - -msgid "${product_fullname} LibreOffice Service" -msgstr "${product_fullname} LibreOffice-tjeneste" - -msgid "${product_fullname} Service" -msgstr "${product_fullname}-tjeneste" - -msgid "${product_shortname} Manager Tool" -msgstr "${product_shortname}-styringsverktøy" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "32-bit Microsoft Windows® støttes kun for evaluering." - -msgid "64-bit architecture recommended" -msgstr "64-bit arkitektur anbefalt" - -msgid "Admin Password" -msgstr "Admin.passord" - -msgid "Admin Password:" -msgstr "Admin.passord:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Avansert - Konfigurer serverporter og service egenskaper" - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Alfresco Content Services Enterprise Content Management (ECM)-system med dokumentbehandling, samarbeidsbehandling og bildebehandling." - -msgid "FTP Port" -msgstr "FTP-port" - -msgid "Alfresco Module Packages" -msgstr "Alfresco Modulpakker" - -msgid "RMI Port" -msgstr "RMI-port" - -msgid "Alfresco Share" -msgstr "Alfresco Deling" - -msgid "Shortcuts" -msgstr "Snarveier" - -msgid "Validations" -msgstr "Valideringer" - -msgid "Alfresco Website" -msgstr "Alfresco Webområde" - -msgid "Data Directory" -msgstr "Datakatalog" - -msgid "Choose optional components to install." -msgstr "Du kan også velge alternative komponenter som skal installeres." - -msgid "Auto - Configure servers to start automatically" -msgstr "Auto. — Konfigurer servere til å starte automatisk" - -msgid "CIFS TCP ports in use" -msgstr "CIFS TCP-porter i bruk" - -msgid "CIFS UDP ports in use" -msgstr "CIFS UDP-porter i bruk" - -msgid "CIFS protocol ports configuration" -msgstr "Konfigurasjon av CIFS-protokollporter" - -msgid "CIFS server port" -msgstr "CIFS-serverport" - -msgid "CIFS server port 1" -msgstr "CIFS-serverport 1" - -msgid "CIFS server port 2" -msgstr "CIFS-serverport 2" - -msgid "Configuration Files" -msgstr "Konfigurasjonsfiler" - -msgid "Creating user and database" -msgstr "Opprette bruker og database" - -msgid "Database Configuration" -msgstr "Databasekonfigurasjon" - -msgid "Database Installation" -msgstr "Databaseinstallasjon" - -msgid "Database Server Parameters" -msgstr "Serverparametre for database" - -msgid "Database Server Port:" -msgstr "Serverport for database" - -msgid "Database Name" -msgstr "Databasenavn" - -msgid "Database Name:" -msgstr "Databasenavn:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Implementerer Alfresco Content Services... Dette kan ta inntil fem minutter." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Vil du installere PostgreSQL som en Windows-tjeneste?" - -msgid "Easy - Install using the default configuration." -msgstr "Enkel - Installer ved bruk av standard konfigurasjoner." - -msgid "Extension Files" -msgstr "Utvidelsesfiler" - -msgid "Google Docs Integration" -msgstr "Google Docs-integrering" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Jeg vil bruke en eksisterende PostgreSQL-database" - -msgid "I want to use an existing Tomcat instance." -msgstr "Jeg vil bruke en eksisterende Tomcat-enhet." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Jeg vil bruke den medfølgende PostgreSQL-databasen." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Jeg vil bruke den medfølgende Tomcat-enheten." - -msgid "IMAP TCP port in use." -msgstr "IMAP TCP-port i bruk" - -msgid "IMAP Port" -msgstr "IMAP-port" - -msgid "IP / Hostname" -msgstr "IP/vertsnavn" - -msgid "Include Alfresco Web Quick Start." -msgstr "Inkluder Alfrescos Webhurtigstart." - -msgid "Include Google Docs Integration Features." -msgstr "Inkluder Google Docs-integreringsfunksjoner." - -msgid "Initializing database" -msgstr "Initialiserer database" - -msgid "Install ${product_fullname} as a service?" -msgstr "Installere ${product_fullname} som en tjeneste?" - -msgid "Install ${product_fullname} as service" -msgstr "Installer ${product_fullname} som tjeneste" - -msgid "Install PostgreSQL as a service?" -msgstr "Installere PostgreSQL som en tjeneste?" - -msgid "Install as a service" -msgstr "Installer som en tjeneste" - -msgid "Installation Folder" -msgstr "Installasjonsmappe" - -msgid "Installation Type" -msgstr "Installasjonstype" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "Filstien for installasjonen er for lang. Maksimalt antall tillatte tegn er ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Installasjonsmappe" - -msgid "Installation folder cannot contain spaces." -msgstr "Installasjonsmappen kan ikke inneholde mellomrom." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Installerer Alfresco Modulpakker (AMP)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "Installerer LibreOffice som en Windows-tjeneste med navnet ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "Installerer PostgreSQL som en Windows-tjeneste med navnet ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Installerer Tomcat som en Windows-tjeneste med navnet ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "Ikke nok fildeskriptorer tilgjengelig." - -msgid "CPU clock speed is too slow" -msgstr "CPU klokkefrekvens er for langsom" - -msgid "Not enough CPUs (cores) available" -msgstr "Ikke nok CPU (kjerner) tilgjengelig" - -msgid "Not enough system RAM available" -msgstr "Ikke nok system RAM tilgjengelig" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "Du har ikke rettigheter til å tilknytte porten, eller porten er allerede i bruk av en annen applikasjon. Velg en annen port." - -msgid "JDBC Driver:" -msgstr "JDBC-driver:" - -msgid "JDBC URL:" -msgstr "JDBC URL:" - -msgid "JDK configuration" -msgstr "JDK-konfigurasjon" - -msgid "JDK Installation Directory:" -msgstr "JDK-installasjonskatalog:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Java Component kreves for å kjøre ${product_fullname}." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Java-hjemmebanen inneholder mellomrom. Det kan hende Alfresco Content Services ikke fungerer som den skal ettersom JVM får problemer hvis installasjonsbanen inneholder mellomrom. Installer JVM på nytt i en bane uten mellomrom." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Denne modulen krever Java, og ingen Java-enheter har blitt oppdaget." - -msgid "Launch ${product_fullname}" -msgstr "Kjør ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "LibreOffice Server Port" - -msgid "LibreOffice Server Port:" -msgstr "LibreOffice Server Port:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice er en multiplattform, open-source office-programvare for tekstbehandling, regneark, presentasjoner, grafiske fremvisninger og databaser som er nødvendig for å transformere dokumenter." - -msgid "Location of bin and lib tomcat folders" -msgstr "Plassering av bin- og lib tomcat-mapper" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® støttes kun til evaluering." - -msgid "Manager Tool" -msgstr "Styringsverktøy" - -msgid "Manual - Configure servers to start services manually" -msgstr "Manuelt — Konfigurer servere til å starte tjenester manuelt" - -msgid "New Component" -msgstr "Ny komponent" - -msgid "New Folder" -msgstr "Ny mappe" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Ikke en PostgreSQL versjon 9,4.4 installasjon. PostgreSQL 9,4.4 er anbefalt." - -msgid "Password" -msgstr "Passord" - -msgid "Password must not contain leading or trailing spaces." -msgstr "Passordet kan ikke starte eller slutte med mellomrom." - -msgid "Password:" -msgstr "Passord:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Velg en mappe for installasjon av ${product_fullname}" - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Velg et portnummer som Alfresco Content Services skal bruke til å utføre eksterne kommandoer." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Velg et portnummer for den integrerte FTP-serveren." - -msgid "Enter a valid IP address or hostname." -msgstr "Skriv inn gyldig IP-adresse eller vertsnavn." - -msgid "Enter the IP address or hostname for your database." -msgstr "Skriv inn IP-adressen eller vertsnavnet til databasen." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Angi dine Tomcat konfigurasjonsparametere." - -msgid "Enter the port of your database." -msgstr "Angi porten til databasen." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Angi porten som LibreOffice skal lytte til." - -msgid "Enter your database 'postgres' user password." -msgstr "Skriv inn databasens "postgres"-brukerpassord." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Angi et passord for Alfresco Content Services-administratorkontoen." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Velg en annen installasjonskatalog. Installasjonskatalogen kan ikke inneholde lenker med symboler." - -msgid "Select services startup type." -msgstr "Velg oppstartstypen for tjenester." - -msgid "Select a Tomcat configuration" -msgstr "Velg en Tomcat innstilling" - -msgid "Select a database configuration." -msgstr "Velg en databaseinnstilling" - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Velg denne modulen for å la applikasjoner som kan kommunisere med en SharePoint-server, samhandle med din Alfresco Content Services-installasjon." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Velg denne modulen for å la applikasjoner som kan kommunisere med en Sharepoint-server, samhandle med din Alfresco Content Services-installasjon (egenutviklet modell lisensiert til Alfresco Component License)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Angi i hvilken katalog Tomcat er plassert." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Angi i hvilken katalog binærfilene for psql, pg_restore og vacuumdb er plassert." - -msgid "Enter CIFS ports configuration." -msgstr "Legg inn CIFS-portkonfigruasjonen." - -msgid "Port:" -msgstr "Port:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "PostgreSQL-binærfilkatalog" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL er et kraftig objektrelasjonsdatabasesystem med åpen kilde." - -msgid "PostgreSQL postgres user password" -msgstr "PostgreSQL postgres-brukerpassord" - -msgid "Program Files" -msgstr "Programfiler" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "VIKTIG-fil" - -msgid "README Folder Component" -msgstr "VIKTIG-mappekomponent" - -msgid "Re-enter password" -msgstr "Skriv inn passordet på nytt" - -msgid "Repeat Password:" -msgstr "Gjenta passord:" - -msgid "SMB Port" -msgstr "SMB-port" - -msgid "SMTP TCP port in use" -msgstr "SMTP TCP-port i bruk" - -msgid "SMTP Port" -msgstr "SMTP-port" - -msgid "Select a folder:" -msgstr "Velg en mappe:" - -msgid "Service Startup Configuration" -msgstr "Konfigurasjon av tjenesteoppstart" - -msgid "Service script name" -msgstr "Tjenesteskriptnavn" - -msgid "Specify the name of the database." -msgstr "Angi navnet på databasen." - -msgid "Specify the password for the database user." -msgstr "Angi passord for databasebrukeren." - -msgid "Set the database user." -msgstr "Velg databasebruker." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "Installasjonen vil forsøke å installere nye databaser og vil overskrive duplikater. Ønsker du å fortsette?" - -msgid "Shortcuts Images" -msgstr "Bilder av snarveier" - -msgid "Show next steps" -msgstr "Vis neste trinn" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Noen eller alle bibliotekene som kreves for å støtte LibreOffice ble ikke funnet i ditt system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nDu anbefales på det sterkeste å avbryte installasjonen og installere bibliotekene. \nFor mer informasjon, se LibreOffice dokumenasjonen på http://docs.alfresco.com\n\nØnsker du å fortsette installasjonen?" - -msgid "We support PostgreSQL as service only." -msgstr "Vi støtter kun PostgreSQL som tjeneste." - -msgid "You need to be an administrator." -msgstr "Beklager, men du må være en administrator." - -msgid "Start ${product_fullname} service" -msgstr "Start ${product_fullname}-tjenesten" - -msgid "Starting LibreOffice..." -msgstr "Starter LibreOffice..." - -msgid "Starting servers..." -msgstr "Starter opp servere..." - -msgid "Stop ${product_fullname} service" -msgstr "Stopp ${product_fullname}-tjenesten" - -msgid "Stopping PostgreSQL..." -msgstr "Stopper PostgreSQL..." - -msgid "Stopping Services" -msgstr "Stoppe tjenester" - -msgid "Stopping servers" -msgstr "Stoppe servere" - -msgid "Stopping services" -msgstr "Stoppe tjenester" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "Skriptfilen for ${product_shortname} tjenesten eksisterer. Bruk et annet navn for tjenesteskriptet." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "Datakatalogen øker i størrelse over tid. Velg hvor du ønsker å lagre den." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "Ikke-rot-brukere har ikke tilgang til den nåværende installasjonskatalogen. Velg en annen installasjonskatalog eller endre tillatelsene til 755 for denne mappen." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "Katalogen du valgte er ikke en gyldig JDK-katalog. Velg en annen katalog." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "Katalogen du valgte er ikke en gyldig Tomcat-katalog. Velg en annen katalog." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "Installasjonskatalogen må være en sti som kun inneholder bokstaver, tall og følgende tegn: '/', '.', ‘-‘, '_' ." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "Installasjonen ble ikke gjennomført fordi den nåværende umask har angitt tilganger til ${base_umask}. Endre dine umask-innstillinger til minst 0022 før du starter installasjonen på nytt. Etter at installasjonen er ferdig, tilbakesstilles de avmaskerte tillatelsene til de opprinnelige verdiene." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "Installasjonen kunne ikke få tilgang til den gjeldende ledige plassen på ${installdir}. Sjekk at det er nok ledig plass til å installere ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "Passordet må være lengre enn 3 tegn." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "Stien ${postgres_binary_directory} ser ikke ut til å ha en pg_restore kjørbar fil." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "Stien ${postgres_binary_directory} ser ikke ut til å ha en pg_vacuumdb kjørbar fil." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "Stien ${postgres_binary_directory} er ikke gyldig. Sjekk om katalogen inneholder de nødvendige binærfilene." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "Den valgte mappen er ikke tom. Angi en annen mappe." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "Skriptfilen for tjenesten eksisterer. Sett inn et annet navn for tjenesteskriptet." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "Du har valgt 32 bit Java-versjon, men dette er en 64 bit-installasjon til Alfresco Content Services. Installer en 64 bit-versjon av Java før du fortsetter, eller gå tilbake og sørg for at "Java"-komponenten er valgt." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "Det er ikke nok ledig plass på ${installdir}. Du trenger minst ${base_needed_space} MB for å installere ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Det er ikke konfigurert optimale forhold for Alfresco Content Services - gå gjennom denne listen før du fortsetter.\n\nSelv om disse problemene ikke vil hindre Alfresco Content Services fra å fungere, vil noen produktfunksjoner eventuelt ikke være tilgjengelig, eller systemet vil eventuelt ikke fungere optimalt." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "Denne installasjonen er for Windows 64 bit. Last ned Windows 32 bit versjonen." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Denne versjonen ble laget for å kjøre J2SE ${java_min_version} eller nyere versjon. Installer en kompatibel Java-versjon og prøv igjen." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Denne versjonen ble laget for å kjøre J2SE ${java_min_version}. Installer en kompatibel Java-versjon og prøv igjen." - -msgid "Tomcat AJP Port:" -msgstr "Tomcat AJP-port:" - -msgid "Tomcat Directory" -msgstr "Tomcat-katalog" - -msgid "Tomcat JMX Port:" -msgstr "Tomcat JMX-port:" - -msgid "Tomcat Port Configuration" -msgstr "Tomcat-portkonfigurasjon" - -msgid "Tomcat SSL Port:" -msgstr "Tomcat SSL-port:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Tomcat serverporten og Tomcat avslutningsporten kan ikke være samme port. Velg en annen Tomcat avslutningsport." - -msgid "Tomcat Server Port:" -msgstr "Tomcat-serverport:" - -msgid "Tomcat Shutdown Port:" -msgstr "Tomcat-avslutningsport:" - -msgid "Tomcat Directory:" -msgstr "Tomcat-katalog:" - -msgid "Tomcat Installation:" -msgstr "Tomcat-installasjon:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Kunne ikke binde til det gitte portnummeret. Velg en annen FTP-port." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Kunne ikke binde til det gitte portnummeret. Velg en annen RMI-port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Kunne ikke binde til det gitte portnummeret. Velg en annen Tomcat AJP-port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Kunne ikke binde til det gitte portnummeret. Velg en annen Tomcat JMX-port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Kunne ikke binde til det gitte portnummeret. Velg en annen Tomcat SSL-port." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Kunne ikke binde til det gitte portnummeret. Velg en annen Tomcat serverport." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Kunne ikke binde til det gitte portnummeret. Velg en annen Tomcat avslutningsport." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "Bruk bare tall i portkonfigurasjonsfeltene. Andre tegn tillates ikke." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Kunne ikke binde til serverporten. Sørg for at ${serverName} ikke kjører." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Kunne ikke koble til databasen. Sjekk innstillingene dine." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Kunne ikke finne en server som kjører med dette portnummeret. Velg en annen port." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Kunne ikke finne en server som kjører med port ${postgres_port}. Start din databaseserver." - -msgid "Couldn’t get free disk space." -msgstr "Kunne ikke frigjøre diskplass." - -msgid "Uninstall ${product_fullname}" -msgstr "Avinstaller ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "Avinstaller ${product_fullname}-tjenesten" - -msgid "Uninstalling service" -msgstr "Avinstallere tjenesten" - -msgid "Uninstalling services" -msgstr "Avinstallere tjenester" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Brukes til å konfigurere målet til innholdet i kommandomappen." - -msgid "User" -msgstr "Bruker" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "Brukernavnet '${username}' er reservert. Bruk et annet brukernavn." - -msgid "Username:" -msgstr "Brukernavn:" - -msgid "Verify:" -msgstr "Bekreft:" - -msgid "Waiting for PostgreSQL to start" -msgstr "Venter på at PostgreSQL starter." - -msgid "Waiting for Postmaster" -msgstr "Venter på postmester" - -msgid "War files" -msgstr "War-filer" - -msgid "Warning" -msgstr "Advarsel" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "Kunne ikke finne en passende JDK-installasjon i ditt system. ${product_fullname} krever JDK ${java_min_version} eller nyere." - -msgid "Web Quick Start" -msgstr "Hurtigstart for Web" - -msgid "Web Server" -msgstr "Webserver" - -msgid "Web Server Domain:" -msgstr "Webserverdomene:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "Du forsøker å installere et Ruby ${rubyVersion}-basert program i en Bitnami-stabel som ikke støttes. Last ned og installer Ruby Stack ${rubyVersion} versjonen fra bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Dersom du registrerer ${product_fullname} som en tjeneste, vil den automatisk starte opp ${product_fullname} når maskinen starter." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "Du har valgt Tomcat som gjeldende installasjon. Start Tomcat på nytt for å ta i bruk nylig installerde applikasjoner." - -msgid "Select at least one of the Solr components." -msgstr "Velg minst en av Solr komponentene." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Bruk kun ASCII tegn når passordet i installasjonen skal angis. Dersom du ønsker å bruke ikke--ASCII tegn kan du gjøre dette ved å tilbakestille passordet etter installasjonen." - -msgid "Connect Alfresco Share to the repository" -msgstr "Koble Alfresco Share til lagringsstedet." - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Angi plassering til ditt Alfresco Content Services-lagringssted." - -msgid "Repository location: " -msgstr "Plassering av lagringssted: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Install Solr 1.4 kun til oppdatering av tidligere Alfresco Content Services-versjoner." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr er en søkeplattform med åpen kilde som bruker Apache Lucene som indeks og søkemotor. Solr 4 tilbyr forbedringer i skalering, ytelse og fleksibilitet over Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "Klarer ikke å binde til et bestemt portnummer." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Klarer ikke å binde til et bestemt portnummer. Denne porten brukes allerede av ${process_binding_port} prosessen. Vennligst velg en annen ${serverName} serverport." - -msgid "Remote Solr configuration" -msgstr "Fjernstyr Solr konfigurasjonen" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Angi Solr vert og port for å koble til Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Solr vert:" - -msgid "Solr SSL port:" -msgstr "Solr SSL-port" - -msgid "Sharded Solr installation" -msgstr "Shardet Solr installasjon" - -msgid "Are you using a sharded Solr installation?" -msgstr "Bruker du en shardet Solr installasjon?" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nei" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Les følgende lisensavtale. Du må godta vilkårene i denne avtalen før du fortsetter med installasjonen." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-nl.po b/installer-resources/src/main/resources/bitrock/lang/alf-nl.po deleted file mode 100644 index d4f8cf6e93..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-nl.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB RAM is niet genoeg om Alfresco Content Services te gebruiken voor test- of productiedoeleinden. Alfresco Content Services werkt misschien niet goed, en als het dat wel doet, zullen de prestaties niet goed zijn. Upgrade de server naar minstens ${minimum_ramGB} GB RAM, en voor optimale prestaties ${recommended_ramGB} GB RAM." - -msgid "${product_fullname} LibreOffice Service" -msgstr "${product_fullname} LibreOffice-service" - -msgid "${product_fullname} Service" -msgstr "${product_fullname}-service" - -msgid "${product_shortname} Manager Tool" -msgstr "${product_shortname}-tool voor beheerders" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "32-bits versie van Microsoft Windows® wordt alleen ondersteund voor evaluatiedoeleinden." - -msgid "64-bit architecture recommended" -msgstr "64-bits architectuur wordt aanbevolen" - -msgid "Admin Password" -msgstr "Beheerderswachtwoord" - -msgid "Admin Password:" -msgstr "Beheerderswachtwoord:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Geavanceerd - serverpoorten en service-eigenschappen configureren." - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Alfresco Content Services Enterprise Content Management (ECM)-systeem met Document Management, Collaboration Management en Image Management." - -msgid "FTP Port" -msgstr "FTP-poort" - -msgid "Alfresco Module Packages" -msgstr "Alfresco-modulepakketten" - -msgid "RMI Port" -msgstr "RMI-poort" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Snelkoppelingen" - -msgid "Validations" -msgstr "Validaties" - -msgid "Alfresco Website" -msgstr "Alfresco-website" - -msgid "Data Directory" -msgstr "Gegevensmap" - -msgid "Choose optional components to install." -msgstr "Kies optionele onderdelen om te installeren." - -msgid "Auto - Configure servers to start automatically" -msgstr "Automatisch - servers configureren om automatisch te laten starten" - -msgid "CIFS TCP ports in use" -msgstr "CIFS TCP-poorten in gebruik" - -msgid "CIFS UDP ports in use" -msgstr "CIFS UDP-poorten in gebruik" - -msgid "CIFS protocol ports configuration" -msgstr "Configuratie CIFS-protocolpoorten" - -msgid "CIFS server port" -msgstr "CIFS-serverpoort" - -msgid "CIFS server port 1" -msgstr "CIFS-serverpoort 1" - -msgid "CIFS server port 2" -msgstr "CIFS-serverpoort 2" - -msgid "Configuration Files" -msgstr "Configuratiebestanden" - -msgid "Creating user and database" -msgstr "Gebruiker en database maken" - -msgid "Database Configuration" -msgstr "Databaseconfiguratie" - -msgid "Database Installation" -msgstr "Database-installatie" - -msgid "Database Server Parameters" -msgstr "Databaseserverparameters" - -msgid "Database Server Port:" -msgstr "Databaseserverpoort:" - -msgid "Database Name" -msgstr "Databasenaam" - -msgid "Database Name:" -msgstr "Databasenaam:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Alfresco Content Services wordt geïmplementeerd... Dit kan tot vijf minuten duren." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Wilt u PostgreSQL als Windows-service installeren?" - -msgid "Easy - Install using the default configuration." -msgstr "Eenvoudig - servers installeren met de standaardconfiguratie" - -msgid "Extension Files" -msgstr "Uitbreidingsbestanden" - -msgid "Google Docs Integration" -msgstr "Google Docs-integratie" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Ik wil een bestaande PostgreSQL-database gebruiken." - -msgid "I want to use an existing Tomcat instance." -msgstr "Ik wil een bestaande Tomcat-instance gebruiken." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Ik wil de meegeleverde PostgreSQL-database gebruiken." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Ik wil de meegeleverde Tomcat-instance gebruiken." - -msgid "IMAP TCP port in use." -msgstr "IMAP TCP-poort in gebruik." - -msgid "IMAP Port" -msgstr "IMAP-poort" - -msgid "IP / Hostname" -msgstr "IP/hostnaam" - -msgid "Include Alfresco Web Quick Start." -msgstr "Alfresco Web Quick Start opnemen." - -msgid "Include Google Docs Integration Features." -msgstr "Inclusief functies voor Google Docs-integratie." - -msgid "Initializing database" -msgstr "Database initialiseren..." - -msgid "Install ${product_fullname} as a service?" -msgstr "${product_fullname} als service installeren?" - -msgid "Install ${product_fullname} as service" -msgstr "${product_fullname} als service installeren" - -msgid "Install PostgreSQL as a service?" -msgstr "PostgreSQL als service installeren?" - -msgid "Install as a service" -msgstr "Installeren als service" - -msgid "Installation Folder" -msgstr "Installatiemap" - -msgid "Installation Type" -msgstr "Installatietype" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "Het installatiepad is te lang. Het maximum aantal toegestane tekens is ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Installatiemap" - -msgid "Installation folder cannot contain spaces." -msgstr "Installatiemap mag geen spaties bevatten." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Alfresco-modulepakketten (AMP's) worden geïnstalleerd" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "LibreOffice wordt als Windows-service geïnstalleerd met de naam ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "PostgreSQL wordt als Windows-service geïnstalleerd met de naam ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Tomcat wordt als Windows-service geïnstalleerd met de naam ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "Onvoldoende bestandsdescriptors beschikbaar" - -msgid "CPU clock speed is too slow" -msgstr "De CPU-kloksnelheid is te laag" - -msgid "Not enough CPUs (cores) available" -msgstr "Onvoldoende CPU's (cores) beschikbaar" - -msgid "Not enough system RAM available" -msgstr "Onvoldoende systeem-RAM beschikbaar" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "U hebt niet de juiste rechten voor binden aan de poort, of de poort wordt al gebruikt door een andere toepassing. Selecteer een andere poort." - -msgid "JDBC Driver:" -msgstr "JDBC-stuurprogramma:" - -msgid "JDBC URL:" -msgstr "JDBC-url:" - -msgid "JDK configuration" -msgstr "JDK-configuratie" - -msgid "JDK Installation Directory:" -msgstr "JDK-installatiemap:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Java-onderdeel vereist om ${product_fullname} uit te voeren." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Het pad van Java Home bevat spaties. Alfresco Content Services werkt mogelijk niet correct omdat de JVM problemen ondervindt wanneer het installatiepad spaties bevat. Installeer de JVM in een pad dat geen spaties bevat." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Voor deze module moet Java zijn geïnstalleerd en er is geen Java-instance gevonden." - -msgid "Launch ${product_fullname}" -msgstr "${product_fullname} starten" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "LibreOffice-serverpoort" - -msgid "LibreOffice Server Port:" -msgstr "LibreOffice-serverpoort:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice is een multi-platform, open-source kantoorsoftwarepakket voor tekstverwerking, spreadsheets, presentaties, afbeeldingen en databases dat benodigd is voor documentconversies." - -msgid "Location of bin and lib tomcat folders" -msgstr "Locatie van bin- en lib tomcat-mappen" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® wordt alleen ondersteund voor evaluatiedoeleinden." - -msgid "Manager Tool" -msgstr "Tool voor beheerders" - -msgid "Manual - Configure servers to start services manually" -msgstr "Handmatig - servers configureren om services handmatig te starten" - -msgid "New Component" -msgstr "Nieuw onderdeel" - -msgid "New Folder" -msgstr "Nieuwe map" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Geen PostgreSQL versie 9.4.4-installatie. PostgreSQL 9.4.4 wordt aanbevolen." - -msgid "Password" -msgstr "Wachtwoord" - -msgid "Password must not contain leading or trailing spaces." -msgstr "Wachtwoord mag geen voorloopspaties of afsluitende spaties bevatten." - -msgid "Password:" -msgstr "Wachtwoord:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Selecteer een installatiemap voor ${product_fullname}." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Kies een poortnummer dat Alfresco Content Services gebruikt om externe opdrachten uit te voeren." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Kies een poortnummer voor de geïntegreerde FTP-server." - -msgid "Enter a valid IP address or hostname." -msgstr "Voer een geldig IP-adres of een geldige hostnaam in." - -msgid "Enter the IP address or hostname for your database." -msgstr "Voer het IP-adres of de hostnaam voor uw database in." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Voer uw Tomcat-configuratieparameters in." - -msgid "Enter the port of your database." -msgstr "Voer de poort voor uw database in." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Voer de poort in waarop de LibreOffice-server luistert." - -msgid "Enter your database 'postgres' user password." -msgstr "Voer het 'postgres'-gebruikerswachtwoord voor uw database in." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Geef een wachtwoord op voor het Alfresco Content Services-beheerdersaccount." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Selecteer een andere installatiemap. De installatiemap mag geen symbolische koppelingen bevatten." - -msgid "Select services startup type." -msgstr "Selecteer opstarttype voor services." - -msgid "Select a Tomcat configuration" -msgstr "Selecteer een Tomcat-configuratie." - -msgid "Select a database configuration." -msgstr "Selecteer een databaseconfiguratie." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Selecteer deze module om toepassingen die kunnen communiceren met een SharePoint-server te laten communiceren met uw Alfresco Content Services-installatie." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Selecteer deze module om toepassingen die kunnen communiceren met een SharePoint-server te laten communiceren met uw Alfresco Content Services-installatie (oorspronkelijke module gelicentieerd onder de Alfresco-componentlicentie)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Geef op in welke map Tomcat zich bevindt." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Geef de map op waarin de programmabestanden psql, pg_restore en vacuumdb zich bevinden." - -msgid "Enter CIFS ports configuration." -msgstr "Voer de configuratie van CIFS-poorten in." - -msgid "Port:" -msgstr "Poort:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "PostgreSQL-map voor binaire bestanden" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL is een krachtig, open-source object-relationeel databasesysteem." - -msgid "PostgreSQL postgres user password" -msgstr "postgres-gebruikerswachtwoord voor" - -msgid "Program Files" -msgstr "Programmabestanden" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "README-bestand" - -msgid "README Folder Component" -msgstr "README-maponderdeel" - -msgid "Re-enter password" -msgstr "Voer wachtwoord opnieuw in" - -msgid "Repeat Password:" -msgstr "Herhaal wachtwoord:" - -msgid "SMB Port" -msgstr "SMB-poort" - -msgid "SMTP TCP port in use" -msgstr "SMTP TCP-poort in gebruik" - -msgid "SMTP Port" -msgstr "SMTP-poort" - -msgid "Select a folder:" -msgstr "Selecteer een map:" - -msgid "Service Startup Configuration" -msgstr "Opstartconfiguratie van service" - -msgid "Service script name" -msgstr "Servicescriptnaam" - -msgid "Specify the name of the database." -msgstr "Geef de naam van de database op." - -msgid "Specify the password for the database user." -msgstr "Geef het wachtwoord op voor de gebruiker van de database." - -msgid "Set the database user." -msgstr "Stel de gebruiker van de database in." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "Setup probeert nieuwe databases te installeren en duplicaten te overschrijven. Wilt u doorgaan?" - -msgid "Shortcuts Images" -msgstr "Snelkoppelingen afbeeldingen" - -msgid "Show next steps" -msgstr "Zie de volgende stappen" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Sommige of alle bibliotheken die nodig zijn ter ondersteuning van LibreOffice zijn niet op uw systeem aangetroffen: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nU wordt met klem aangeraden om deze installatie af te breken en de bibliotheken te installeren.\nRaadpleeg voor meer informatie de LibreOffice-documentatie op http://docs.alfresco.com\n\nWilt u doorgaan met de installatie?" - -msgid "We support PostgreSQL as service only." -msgstr "PostgreSQL wordt alleen als service ondersteund." - -msgid "You need to be an administrator." -msgstr "U moet een beheerder zijn." - -msgid "Start ${product_fullname} service" -msgstr "Service ${product_fullname} starten" - -msgid "Starting LibreOffice..." -msgstr "LibreOffice starten..." - -msgid "Starting servers..." -msgstr "Servers starten..." - -msgid "Stop ${product_fullname} service" -msgstr "${product_fullname}-service stoppen" - -msgid "Stopping PostgreSQL..." -msgstr "PostgreSQL stoppen..." - -msgid "Stopping Services" -msgstr "Services stoppen" - -msgid "Stopping servers" -msgstr "Servers stoppen" - -msgid "Stopping services" -msgstr "Services stoppen" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "Het ${product_shortname}-servicescriptbestand bestaat al. Gebruik een andere naam voor het servicescript." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "De omvang van de gegevensmap neemt in de loop van de tijd toe. Kies waar u deze wilt opslaan." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "De huidige installatiemap kan niet worden geopend door niet-rootgebruikers. Selecteer een andere installatiemap of wijzig de machtigingen voor deze map naar 755." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "De geselecteerde map is geen geldige JDK-map. Kies een andere map." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "De geselecteerde map is geen geldige Tomcat-map. Kies een andere map." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "Het installatiepad mag alleen letters, cijfers en de tekens '/', '.', ‘-‘ en '_' bevatten." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "De installatie is niet voltooid omdat de huidige umask is ingesteld op machtigingen van ${base_umask}. Verander de umask-instelling in minimaal 0022 voordat u het installatieprogramma opnieuw start. Nadat de installatie is voltooid, stelt u de umask-machtigingen weer in op de oorspronkelijke waarden." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "Het installatieprogramma kan niet vaststellen hoeveel ruimte beschikbaar is op ${installdir}. Controleer of er genoeg beschikbare ruimte is voor de installatie van ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "Het wachtwoord moet langer zijn dan 3 tekens." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "Het pad ${postgres_binary_directory} bevat geen pg_restore uitvoerbaar bestand." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "Het pad ${postgres_binary_directory} bevat geen pg_vacuumdb uitvoerbaar bestand." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "Het pad ${postgres_binary_directory} is ongeldig. Controleer of de map de vereiste binaire bestanden bevat." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "De geselecteerde map is niet leeg. Geef een andere map op." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "Het servicescriptbestand bestaat al. Gebruik een andere naam voor het servicescript." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "De geselecteerde Java-versie is 32-bits, maar u hebt een 64-bits installatie van Alfresco Content Services. Installeer een 64-bits versie van Java voordat u doorgaat of ga terug en zorg ervoor dat de "Java"-component is geselecteerd." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "Er is niet genoeg beschikbare ruimte op ${installdir}. U hebt minstens ${base_needed_space} MB nodig voor de installatie van ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Deze omgeving is niet optimaal geconfigureerd voor Alfresco Content Services. Neem deze lijst zorgvuldig door voordat u verder gaat.\n\nHoewel Alfresco Content Services zal functioneren ondanks deze problemen, zullen sommige productfuncties misschien niet beschikbaar zijn. Ook presteert het systeem mogelijk niet optimaal." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "Dit installatieprogramma is voor de 64-bits versie van Windows. Download de 32-bits versie van Windows." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Deze versie is verpakt voor uitvoering op J2SE ${java_min_version} of later. Installeer een compatibele Java-versie en probeer het opnieuw." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Deze versie is verpakt voor uitvoering op J2SE ${java_min_version}. Installeer een compatibele Java-versie en probeer het opnieuw." - -msgid "Tomcat AJP Port:" -msgstr "Tomcat AJP-poort:" - -msgid "Tomcat Directory" -msgstr "Tomcat-map" - -msgid "Tomcat JMX Port:" -msgstr "Tomcat JMX-poort:" - -msgid "Tomcat Port Configuration" -msgstr "Tomcat-poortconfiguratie" - -msgid "Tomcat SSL Port:" -msgstr "Tomcat SSL-poort:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Tomcat Server-poort en Tomcat Shutdown-poort kunnen niet hetzelfde zijn. Selecteer een andere Tomcat Shutdown-poort." - -msgid "Tomcat Server Port:" -msgstr "Tomcat Server-poort:" - -msgid "Tomcat Shutdown Port:" -msgstr "Tomcat Shutdown-poort:" - -msgid "Tomcat Directory:" -msgstr "Tomcat-map:" - -msgid "Tomcat Installation:" -msgstr "Tomcat-installatie:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Selecteer een andere FTP-poort." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Selecteer een andere RMI-poort." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Selecteer een andere Tomcat AJP-poort." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Selecteer een andere Tomcat JMX-poort." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Selecteer een andere Tomcat SSL-poort." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Selecteer een andere Tomcat Server-poort." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Selecteer een andere Tomcat Shutdown-poort." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "Gebruik alleen cijfers in de poortconfiguratievelden. Andere tekens zijn niet toegestaan." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Kan de poort niet binden aan de serverpoort. Zorg ervoor dat ${serverName} niet wordt uitgevoerd." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Kan geen verbinding maken met database. Controleer uw configuratie." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Kan geen server vinden die wordt uitgevoerd op dit poortnummer. Selecteer een andere poort." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Kan geen server vinden die wordt uitgevoerd op poort ${postgres_port}. Start uw databaseserver." - -msgid "Couldn’t get free disk space." -msgstr "Kan geen beschikbare schuifruimte verkrijgen." - -msgid "Uninstall ${product_fullname}" -msgstr "${product_fullname} verwijderen" - -msgid "Uninstall ${product_fullname} service" -msgstr "${product_fullname}-service verwijderen" - -msgid "Uninstalling service" -msgstr "Service verwijderen" - -msgid "Uninstalling services" -msgstr "Services verwijderen" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Wordt gebruikt om de bestemming van de inhoud in de opdrachtenmap in te stellen." - -msgid "User" -msgstr "Gebruiker" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "De gebruikersnaam '${username}' is al in gebruik. Gebruik een andere gebruikersnaam." - -msgid "Username:" -msgstr "Gebruikersnaam:" - -msgid "Verify:" -msgstr "Controleren:" - -msgid "Waiting for PostgreSQL to start" -msgstr "Wachten tot PostgreSQL wordt gestart" - -msgid "Waiting for Postmaster" -msgstr "Wachten op Postmaster" - -msgid "War files" -msgstr "WAR-bestanden" - -msgid "Warning" -msgstr "Waarschuwing" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "Er is geen geschikte JDK-installatie op uw computer gevonden. Voor ${product_fullname} is JDK ${java_min_version} of later vereist." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Webserver" - -msgid "Web Server Domain:" -msgstr "Webserverdomein:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "U probeert een toepassing op basis van Ruby ${rubyVersion} te installeren in een Bitnami-stack die niet wordt ondersteund. Download en installeer Ruby Stack-versie ${rubyVersion} op bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Als u ${product_fullname} registreert als een service, wordt ${product_fullname} automatisch gestart wanneer u de computer opstart." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "U hebt Tomcat gekozen als de bestaande installatie. Start Tomcat opnieuw als u nieuw geïnstalleerde toepassingen wilt gebruiken." - -msgid "Select at least one of the Solr components." -msgstr "Selecteer minstens één van de Solr-componenten." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Gebruik ASCII-tekens alleen wanneer u het wachtwoord instelt in het installatieprogramma. Als u niet-ASCII-tekens wilt gebruiken, kunt u dit doen door het wachtwoord na de installatie opnieuw in te stellen." - -msgid "Connect Alfresco Share to the repository" -msgstr "Alfresco Share verbinden met de repository" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Voer de locatie van uw Alfresco Content Services-repository in." - -msgid "Repository location: " -msgstr "Locatie van repository: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Solr 1.4 installeren, alleen voor upgrade van eerdere Alfresco Content Services-versies." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr is een open-source zoekplatform dat gebruikmaakt van Apache Lucene als indexerings- en zoekmachine. Solr 4 biedt verbeterde schaalbaarheid, prestaties en flexibiliteit ten opzichte van Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Kan de poort niet binden aan het opgegeven poortnummer. Deze poort wordt al gebruikt door het ${process_binding_port}-proces. Selecteer een andere ${serverName}-serverpoort." - -msgid "Remote Solr configuration" -msgstr "Externe Solr-configuratie" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Voer de Solr-host en -poort in om verbinding te maken met Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Solr-host:" - -msgid "Solr SSL port:" -msgstr "Solr SSL-poort:" - -msgid "Sharded Solr installation" -msgstr "Sharded Solr-installatie" - -msgid "Are you using a sharded Solr installation?" -msgstr "Gebruikt u een sharded Solr-installatie?" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nee" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Lees de onderstaande licentieovereenkomst. U dient akkoord te gaan met de bepalingen van deze overeenkomst alvorens verder te gaan met de installatie." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po b/installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po deleted file mode 100644 index 16c148b398..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-pt_BR.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB de RAM não é suficiente para executar o Alfresco Content Services para fins de teste ou produção. O Alfresco Content Services talvez não funcione corretamente e, se funcionar, o desempenho não será correto. Atualize o servidor para ter, no mínimo, ${minimum_ramGB} GB de RAM, e de forma otimizada ${recommended_ramGB} GB de RAM." - -msgid "${product_fullname} LibreOffice Service" -msgstr "Serviço LibreOffice do ${product_fullname}" - -msgid "${product_fullname} Service" -msgstr "Serviço do ${product_fullname}" - -msgid "${product_shortname} Manager Tool" -msgstr "Ferramenta do gerenciador ${product_shortname}" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "O Microsoft Windows® de 32 bits é suportado somente para uso de avaliação." - -msgid "64-bit architecture recommended" -msgstr "Arquitetura de 64 bits recomendada" - -msgid "Admin Password" -msgstr "Senha de admin." - -msgid "Admin Password:" -msgstr "Senha de admin:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Avançado - configurar portas de servidor e propriedades de serviço." - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Sistema Alfresco Content Services Enterprise Content Management (ECM) com Document Management, Collaboration Management e Image Management.t" - -msgid "FTP Port" -msgstr "Porta SMTP" - -msgid "Alfresco Module Packages" -msgstr "Alfresco Module Packages" - -msgid "RMI Port" -msgstr "Porta SMB" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Atalhos" - -msgid "Validations" -msgstr "Validações" - -msgid "Alfresco Website" -msgstr "Site da Web do Alfresco" - -msgid "Data Directory" -msgstr "Diretório de dados" - -msgid "Choose optional components to install." -msgstr "Escolha componentes opcionais a serem instalados." - -msgid "Auto - Configure servers to start automatically" -msgstr "Automático: configura os servidores para iniciar automaticamente" - -msgid "CIFS TCP ports in use" -msgstr "Portas CIFS TCP em uso" - -msgid "CIFS UDP ports in use" -msgstr "Portas CIFS UDP em uso" - -msgid "CIFS protocol ports configuration" -msgstr "Configuração das portas do protocolo CIFS" - -msgid "CIFS server port" -msgstr "Porta do servidor CIFS" - -msgid "CIFS server port 1" -msgstr "Porta 1 do servidor CIFS" - -msgid "CIFS server port 2" -msgstr "Porta 2 do servidor CIFS" - -msgid "Configuration Files" -msgstr "Arquivos de configuração" - -msgid "Creating user and database" -msgstr "Criando usuário e banco de dados" - -msgid "Database Configuration" -msgstr "Configuração do banco de dados" - -msgid "Database Installation" -msgstr "Instalação do banco de dados" - -msgid "Database Server Parameters" -msgstr "Parâmetros do servidor de banco de dados" - -msgid "Database Server Port:" -msgstr "Porta do servidor de banco de dados:" - -msgid "Database Name" -msgstr "Nome do banco de dados" - -msgid "Database Name:" -msgstr "Nome do banco de dados:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Implantando o Alfresco... Isso pode levar até cinco minutos." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Deseja instalar o PostgreSQL como um serviço do Windows?" - -msgid "Easy - Install using the default configuration." -msgstr "Fácil - instalar com a configuração padrão." - -msgid "Extension Files" -msgstr "Arquivos de extensão" - -msgid "Google Docs Integration" -msgstr "Integração com o Google Docs" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Desejo usar um banco de dados do PostgreSQL existente." - -msgid "I want to use an existing Tomcat instance." -msgstr "Desejo usar uma instância Tomcat existente." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Desejo usar o banco de dados do PostgreSQL fornecido." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Desejo usar a instância Tomcat fornecida." - -msgid "IMAP TCP port in use." -msgstr "Porta IMAP TCP em uso." - -msgid "IMAP Port" -msgstr "Porta IMAP" - -msgid "IP / Hostname" -msgstr "IP / nome do host" - -msgid "Include Alfresco Web Quick Start." -msgstr "Incluir o Alfresco Web Quick Start." - -msgid "Include Google Docs Integration Features." -msgstr "Incluir recursos de integração com o Google Docs." - -msgid "Initializing database" -msgstr "Inicializando o banco de dados" - -msgid "Install ${product_fullname} as a service?" -msgstr "Instalar o ${product_fullname} como um serviço?" - -msgid "Install ${product_fullname} as service" -msgstr "Instalar o ${product_fullname} como serviço" - -msgid "Install PostgreSQL as a service?" -msgstr "Instalar o PostgreSQL como um serviço?" - -msgid "Install as a service" -msgstr "Instalar como um serviço" - -msgid "Installation Folder" -msgstr "Pasta de instalação" - -msgid "Installation Type" -msgstr "Tipo de instalação" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "O caminho do diretório de instalação é muito longo. O número máximo de caracteres permitido é ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Pasta de instalação" - -msgid "Installation folder cannot contain spaces." -msgstr "A pasta de instalação não pode conter espaços." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Instalando os Alfresco Module Packages (AMPs)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "Instalando o LibreOffice como um serviço do Windows com o nome ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "Instalando o PostgreSQL como um serviço do Windows com o nome ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Instalando o Tomcat como um serviço do Windows com o nome ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "Não há descritores de arquivos disponíveis suficientes" - -msgid "CPU clock speed is too slow" -msgstr "A velocidade do clock da CPU é muito lenta" - -msgid "Not enough CPUs (cores) available" -msgstr "Não há CPUs (núcleos) disponíveis suficientes" - -msgid "Not enough system RAM available" -msgstr "Não há memória RAM de sistema disponível suficiente" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "Você não tem as permissões certas para associar à porta ou ela já está sendo usada por outro aplicativo. Selecione outra porta." - -msgid "JDBC Driver:" -msgstr "Driver JDBC:" - -msgid "JDBC URL:" -msgstr "URL de JDBC:" - -msgid "JDK configuration" -msgstr "Configuração do JDK" - -msgid "JDK Installation Directory:" -msgstr "Diretório de instalação do JDK:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Componente Java necessário para a execução do ${product_fullname}." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "O caminho inicial de Java contém espaços. O Alfresco Content Services talvez não funcione corretamente, porque o próprio JVM tem problemas quando ao caminho da instalação contém espaços. Reinstale o JVM em um caminho que não contenha espaços." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Este módulo requer Java, e nenhuma instância Java pode ser encontrada." - -msgid "Launch ${product_fullname}" -msgstr "Abrir o ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "Porta do servidor LibreOffice" - -msgid "LibreOffice Server Port:" -msgstr "Porta do servidor LibreOffice:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "O LibreOffice é um pacote de software para escritório, multiplataforma e de código aberto, com processador de texto, planilhas, apresentações, gráficos e bancos de dados necessários para documentar transformações." - -msgid "Location of bin and lib tomcat folders" -msgstr "Localização das pastas bin e lib tomcat" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "O Mac OS X® é suportado somente para uso de avaliação." - -msgid "Manager Tool" -msgstr "Ferramenta do gerente" - -msgid "Manual - Configure servers to start services manually" -msgstr "Manual: configura os servidores para iniciar os serviços manualmente" - -msgid "New Component" -msgstr "Novo componente" - -msgid "New Folder" -msgstr "Nova pasta" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Não é uma instalação da versão 9,4.4 do PostgreSQL. PostgreSQL 9.4.4 é recomendado." - -msgid "Password" -msgstr "Senha" - -msgid "Password must not contain leading or trailing spaces." -msgstr "A senha não deve conter espaços à esquerda ou à direita." - -msgid "Password:" -msgstr "Senha:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Escolha uma pasta para instalar o ${product_fullname}." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Escolha um número de porta para o Alfresco Content Services usar para executar comandos remotos." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Escolha um número de porta para o servidor FTP integrado." - -msgid "Enter a valid IP address or hostname." -msgstr "Insira um endereço IP ou nome de host válido." - -msgid "Enter the IP address or hostname for your database." -msgstr "Insira o endereço IP ou nome de host para seu banco de dados." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Insira os parâmetros de configuração do Tomcat." - -msgid "Enter the port of your database." -msgstr "Insira a porta do seu banco de dados." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Insira a porta que o Servidor do LibreOffice irá monitorar." - -msgid "Enter your database 'postgres' user password." -msgstr "Insira a senha de usuário 'postgres' do seu banco de dados." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Forneça uma senha a ser usada para a conta de administrador do Alfresco Content Services." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Selecione um diretório de instalação diferente. O diretório de instalação não pode conter links simbólicos." - -msgid "Select services startup type." -msgstr "Selecione o tipo de inicialização dos serviços." - -msgid "Select a Tomcat configuration" -msgstr "Selecione uma configuração para o Tomcat" - -msgid "Select a database configuration." -msgstr "Selecione uma configuração para o banco de dados." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Selecione este módulo para permitir que os aplicativos possam falar com um servidor SharePoint para falar com a sua instalação Alfresco Content Services." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Selecione este módulo para permitir que os aplicativos possam falar com um servidor SharePoint para falar com a sua instalação Alfresco Content Services. (módulos proprietários licenciados sob a Licença de Componentes Alfresco)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Especifique o diretório em que o Tomcat está localizado." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Especifique o diretório em que os binários psql, pg_restore e vacuumdb estão localizados." - -msgid "Enter CIFS ports configuration." -msgstr "Digite a configuração das portas CIFS." - -msgid "Port:" -msgstr "Porta:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "Diretório binário do PostgreSQL" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "O PostgreSQL é um poderoso sistema de banco de dados objeto-relacional de código aberto." - -msgid "PostgreSQL postgres user password" -msgstr "Senha de usuário postgres do PostgreSQL" - -msgid "Program Files" -msgstr "Arquivos de programa" - -msgid "README" -msgstr "LEIAME" - -msgid "README File" -msgstr "Arquivo LEIAME" - -msgid "README Folder Component" -msgstr "Componente da pasta LEIAME" - -msgid "Re-enter password" -msgstr "Insira a senha novamente" - -msgid "Repeat Password:" -msgstr "Repita a senha:" - -msgid "SMB Port" -msgstr "Porta SMB" - -msgid "SMTP TCP port in use" -msgstr "Porta SMTP TCP em uso" - -msgid "SMTP Port" -msgstr "Porta SMTP" - -msgid "Select a folder:" -msgstr "Selecionar uma pasta:" - -msgid "Service Startup Configuration" -msgstr "Configuração de inicialização do serviço" - -msgid "Service script name" -msgstr "Nome do script de serviço" - -msgid "Specify the name of the database." -msgstr "Especifique o nome do banco de dados." - -msgid "Specify the password for the database user." -msgstr "Especifique a senha para o usuário do banco de dados." - -msgid "Set the database user." -msgstr "Defina o usuário do banco de dados." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "A configuração tentará instalar novos bancos de dados e substituirá todas as cópias. Deseja continuar?" - -msgid "Shortcuts Images" -msgstr "Imagens de atalhos" - -msgid "Show next steps" -msgstr "Mostrar os próximos passos" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Algumas ou todas as bibliotecas necessárias para prestar suporte ao LibreOffice não foram encontradas no sistema: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nRecomenda-se fortemente cancelar esta instalação e instalá-las primeiro.\nPara obter mais informações, consulte a documentação do LibreOffice http://docs.alfresco.com\n\nDeseja continuar com a instalação?" - -msgid "We support PostgreSQL as service only." -msgstr "Prestamos suporte ao PostgreSQL apenas como serviço." - -msgid "You need to be an administrator." -msgstr "É preciso ser um administrador." - -msgid "Start ${product_fullname} service" -msgstr "Iniciar o serviço do ${product_fullname}" - -msgid "Starting LibreOffice..." -msgstr "Iniciando o LibreOffice..." - -msgid "Starting servers..." -msgstr "Iniciando os servidores..." - -msgid "Stop ${product_fullname} service" -msgstr "Parar o serviço do ${product_fullname}" - -msgid "Stopping PostgreSQL..." -msgstr "Parando o PostgreSQL..." - -msgid "Stopping Services" -msgstr "Parar os serviços" - -msgid "Stopping servers" -msgstr "Parando os servidores" - -msgid "Stopping services" -msgstr "Parando os serviços" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "O arquivo de script de serviço ${product_shortname} já existe. Use um nome diferente para o script de serviços." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "O diretório de dados aumenta em tamanho ao longo do tempo. Escolha onde você deseja armazená-lo." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "O diretório de instalação atual não pode ser acessado por usuários que não sejam de raiz. Selecione um diretório de instalação diferente ou altere as permissões para 755 para esta pasta." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "O diretório que você selecionou não é um diretório JDK válido. Escolha outro diretório." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "O diretório que você selecionou não é um diretório Tomcat válido. Escolha outro diretório." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "O diretório de instalação deve ser um caminho que contenha letras, números e os caracteres '/', '.', '-' e '_'." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "A instalação não foi concluída porque a máscara de usuário atual está definida para permissões de ${base_umask}. Você deve modificar sua máscara de usuário para, no mínimo, 0022 antes de iniciar o instalador. Após a instalação estar completa, reponha as permissões da máscara de usuário para os valores originais." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "O instalador não pôde acessar o espaço livre atual no ${installdir}. Verifique se há espaço livre suficiente para instalar ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "A senha deve ter mais que três caracteres." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "O caminho ${postgres_binary_directory} aparentemente não contém um pg_restore executável." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "O caminho ${postgres_binary_directory} não contém um pg_vacuumdb executável." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "O caminho ${postgres_binary_directory} não é válido. Verifique se o diretório contém os binários necessários." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "A pasta selecionada não está vazia. Especifique uma pasta diferente." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "O arquivo de script de serviço já existe. Insira um nome diferente para o script de serviços." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "A versão de Java que selecionou é de 32 bits, mas essa é uma instalação de 64 bits do Alfresco Content Services. Instale uma versão de 64 bits de Java antes de continuar, ou retorne e certifique-se de que o componente “Java” está selecionado." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "Não há espaço livre suficiente no ${installdir}. Você precisa de pelo menos ${base_needed_space} MB a fim de instalar o ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Este ambiente não está configurado de forma otimizada para Alfresco Content Services - revise cuidadosamente esta lista antes de continuar.\n\nEmbora estes problemas não impeçam o Alfresco Content Services de funcionar, alguns recursos do produto podem estar indisponíveis, ou o sistema pode não funcionar de forma otimizada." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "Este instalador é para o Windows de 64 bits. Baixe a versão do Windows de 32 bits." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Esta versão foi empacotada para ser executada em J2SE ${java_min_version} ou posterior. Instale uma versão Java compatível e tente novamente." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Esta versão foi empacotada para ser executada em J2SE ${java_min_version}. Instale uma versão Java compatível e tente novamente." - -msgid "Tomcat AJP Port:" -msgstr "Porta AJP do Tomcat:" - -msgid "Tomcat Directory" -msgstr "Diretório do Tomcat" - -msgid "Tomcat JMX Port:" -msgstr "Porta JMX do Tomcat:" - -msgid "Tomcat Port Configuration" -msgstr "Configuração da porta do Tomcat" - -msgid "Tomcat SSL Port:" -msgstr "Porta SSL do Tomcat:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "A porta do servidor do Tomcat e a porta de desativação do Tomcat não podem ser a mesma. Selecione outra porta de desativação do Tomcat." - -msgid "Tomcat Server Port:" -msgstr "Porta do servidor do Tomcat:" - -msgid "Tomcat Shutdown Port:" -msgstr "Porta de desativação do Tomcat:" - -msgid "Tomcat Directory:" -msgstr "Diretório do Tomcat:" - -msgid "Tomcat Installation:" -msgstr "Instalação do Tomcat:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Não é possível associar ao número da porta indicado. Selecione outra porta FTP." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Não é possível associar ao número da porta indicado. Selecione outra porta RMI." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Não é possível associar ao número da porta indicado. Selecione outra porta Tomcat AJP." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Não é possível associar ao número da porta indicado. Selecione outra porta Tomcat JMX." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Não é possível associar ao número da porta indicado. Selecione outra porta Tomcat SSL." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Não é possível associar ao número da porta indicado. Selecione outra porta de servidor do Tomcat." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Não é possível associar ao número da porta indicado. Selecione outra porta de desativação do Tomcat." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "Apenas utilize números nos campos de configuração de portas. Outros caracteres não são permitidos." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Não é possível associar à porta do servidor indicada. Certifique-se de que ${serverName} não está em execução." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Não foi possível conectar ao banco de dados. Verifique a sua configuração." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Não foi possível localizar um servidor em execução nesse número de porta. Selecione outra porta." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Não foi possível localizar um servidor em execução na porta ${postgres_port}. Inicie o seu servidor de banco de dados." - -msgid "Couldn’t get free disk space." -msgstr "Não é possível obter o espaço livre em disco." - -msgid "Uninstall ${product_fullname}" -msgstr "Desinstalar o ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "Desinstalar o serviço do ${product_fullname}" - -msgid "Uninstalling service" -msgstr "Desinstalar o serviço" - -msgid "Uninstalling services" -msgstr "Desinstalando os serviços" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Use para configurar o destino do conteúdo na pasta de comandos" - -msgid "User" -msgstr "Usuário" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "O nome de usuário '${username}' é reservado. Use um nome de usuário diferente." - -msgid "Username:" -msgstr "Nome de usuário:" - -msgid "Verify:" -msgstr "Verificar:" - -msgid "Waiting for PostgreSQL to start" -msgstr "Aguardando o PostgreSQL iniciar" - -msgid "Waiting for Postmaster" -msgstr "Aguardando o Postmaster" - -msgid "War files" -msgstr "Arquivos War" - -msgid "Warning" -msgstr "Aviso" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "Não foi possível encontrar uma instalação JDK apropriada em seu sistema. ${product_fullname} requer JDK ${java_min_version} ou posterior." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Servidor da Web" - -msgid "Web Server Domain:" -msgstr "Domínio de servidor da Web:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "Você está tentando instalar um aplicativo baseado em Ruby ${rubyVersion} em uma pilha Bitnami que não é suportada. Efetue o download e instale a versão Ruby Stack ${rubyVersion} do site bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Se você registrar ${product_fullname} como um serviço, o ${product_fullname} será iniciado automaticamente na inicialização da máquina." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "Você escolheu o Tomcat como a instalação existente. Reinicie o Tomcat para usar quaisquer aplicativos recém-instalados." - -msgid "Select at least one of the Solr components." -msgstr "Você precisa selecionar, ao menos, um dos componentes Solr." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "Use apenas caracteres ASCII ao definir a senha no instalador. Se você quiser usar caracteres não-ASCII, você pode fazer isso redefinindo a senha após a instalação." - -msgid "Connect Alfresco Share to the repository" -msgstr "Conectar o Alfresco Share ao repositório" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Insira o local do seu repositório Alfresco Content Services." - -msgid "Repository location: " -msgstr "Local do repositório: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - Instale o Solr 1.4 apenas para atualização de versões anteriores do Alfresco Content Services." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr é uma plataforma de pesquisa corporativa de código aberto que usa Apache Lucene como um motor de busca e indexação. Solr 4 fornece melhorias em escalabilidade, desempenho e flexibilidade sobre o Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "Não é possível associar ao número da porta indicado." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Não é possível associar ao número da porta indicado. Essa porta já está em uso pelo processo ${process_binding_port}. Selecione outra porta do servidor ${serverName}." - -msgid "Remote Solr configuration" -msgstr "Configuração remota Solr" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Digite o host e a porta Solr para conectar ao Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Host Solr:" - -msgid "Solr SSL port:" -msgstr "Porta SSL Solr" - -msgid "Sharded Solr installation" -msgstr "Instalação de Solr fragmentado" - -msgid "Are you using a sharded Solr installation?" -msgstr "Você está usando uma instalação Solr fragmentada?" - -msgid "Yes" -msgstr "Sim" - -msgid "No" -msgstr "Não" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Leia o Contrato de licença abaixo. Você precisa aceitar os termos desse contrato antes de fazer a instalação." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-ru.po b/installer-resources/src/main/resources/bitrock/lang/alf-ru.po deleted file mode 100644 index 8af896730e..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-ru.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} ГБ оперативной памяти недостаточно для запуска Alfresco Content Services для целей тестирования и эксплуатации. Некоторый функционал Alfresco Content Services может работать неправильно. Обновите сервер, чтобы обеспечить не менее ${minimum_ramGB} ГБ оперативной памяти; при этом оптимальным объемом оперативной памяти является ${recommended_ramGB} ГБ." - -msgid "${product_fullname} LibreOffice Service" -msgstr "Служба ${product_fullname} LibreOffice" - -msgid "${product_fullname} Service" -msgstr "Служба ${product_fullname}" - -msgid "${product_shortname} Manager Tool" -msgstr "Средство управления ${product_shortname}" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "32-разрядная ОС Microsoft Windows® поддерживается только для целей тестирования." - -msgid "64-bit architecture recommended" -msgstr "Рекомендуется использовать 64-разрядную архитектуру" - -msgid "Admin Password" -msgstr "Пароль администратора" - -msgid "Admin Password:" -msgstr "Пароль администратора:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "Дополнительно — настроить порты сервера и свойства службы." - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Версия Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Система Alfresco Content Services Enterprise Content Management (ECM) с функциями документооборота, управления совместной работой и управления изображениями." - -msgid "FTP Port" -msgstr "Порт FTP" - -msgid "Alfresco Module Packages" -msgstr "Пакеты модулей Alfresco (AMP)" - -msgid "RMI Port" -msgstr "Порт RMI" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "Ярлыки" - -msgid "Validations" -msgstr "Проверки" - -msgid "Alfresco Website" -msgstr "Веб-сайт Alfresco" - -msgid "Data Directory" -msgstr "Каталог данных" - -msgid "Choose optional components to install." -msgstr "Выберите дополнительные компоненты для установки." - -msgid "Auto - Configure servers to start automatically" -msgstr "Авто - настроить Alfresco для автоматического запуска при включении сервера" - -msgid "CIFS TCP ports in use" -msgstr "Используемые порты CIFS TCP" - -msgid "CIFS UDP ports in use" -msgstr "Используемые порты CIFS UDP" - -msgid "CIFS protocol ports configuration" -msgstr "Настройка портов по протоколу CIFS" - -msgid "CIFS server port" -msgstr "Порт сервера CIFS" - -msgid "CIFS server port 1" -msgstr "Порт сервера CIFS 1" - -msgid "CIFS server port 2" -msgstr "Порт сервера CIFS 2" - -msgid "Configuration Files" -msgstr "Файлы конфигурации" - -msgid "Creating user and database" -msgstr "Создание пользователя и базы данных" - -msgid "Database Configuration" -msgstr "Конфигурация базы данных" - -msgid "Database Installation" -msgstr "Установка базы данных" - -msgid "Database Server Parameters" -msgstr "Параметры сервера базы данных" - -msgid "Database Server Port:" -msgstr "Порт сервера базы данных:" - -msgid "Database Name" -msgstr "Имя базы данных" - -msgid "Database Name:" -msgstr "Имя базы данных:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "Развертывание Alfresco Content Services... Это может занять несколько минут." - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "Установить PostgreSQL как службу Windows?" - -msgid "Easy - Install using the default configuration." -msgstr "Простая установка — с использованием конфигурации по умолчанию." - -msgid "Extension Files" -msgstr "Файлы расширения" - -msgid "Google Docs Integration" -msgstr "Интеграция с Документами Google" - -msgid "I want to use an existing PostgreSQL database." -msgstr "Я хочу использовать существующую базу данных PostgreSQL." - -msgid "I want to use an existing Tomcat instance." -msgstr "Я хочу использовать существующий сервер Tomcat." - -msgid "I want to use the bundled PostgreSQL database." -msgstr "Я хочу использовать базу данных PostgreSQL из состава установочного пакета Alfresco." - -msgid "I want to use the bundled Tomcat instance." -msgstr "Я хочу использовать сервер Tomcat из состава установочного пакета Alfresco." - -msgid "IMAP TCP port in use." -msgstr "Используемый порт IMAP TCP." - -msgid "IMAP Port" -msgstr "Порт IMAP" - -msgid "IP / Hostname" -msgstr "IP / имя хоста" - -msgid "Include Alfresco Web Quick Start." -msgstr "Включить Alfresco Web Quick Start." - -msgid "Include Google Docs Integration Features." -msgstr "Включить возможность интеграции с Документами Google" - -msgid "Initializing database" -msgstr "Инициализация базы данных" - -msgid "Install ${product_fullname} as a service?" -msgstr "Установить ${product_fullname} как службу?" - -msgid "Install ${product_fullname} as service" -msgstr "Установить ${product_fullname} как службу" - -msgid "Install PostgreSQL as a service?" -msgstr "Установить PostgreSQL как службу?" - -msgid "Install as a service" -msgstr "Установить как службу" - -msgid "Installation Folder" -msgstr "Каталог для установки" - -msgid "Installation Type" -msgstr "Тип установки" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "Слишком длинный путь к каталогу установки. Максимально допустимое число символов — ${base_installdir_max_characters}." - -msgid "Installation folder" -msgstr "Директория для установки" - -msgid "Installation folder cannot contain spaces." -msgstr "В имени каталога для установки не может быть пробелов." - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "Установка пакетов модулей Alfresco (AMP)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "Установка LibreOffice в качестве службы Windows с именем ${LibreOfficeUniqueServiceName}" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "Установка PostgreSQL в качестве службы Windows с именем ${postgres_unique_service_name}" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "Установка Tomcat в качестве службы Windows с именем ${tomcat_unique_service_name}" - -msgid "Not enough file descriptors available" -msgstr "Недостаточно дескрипторов файлов" - -msgid "CPU clock speed is too slow" -msgstr "Тактовая частота процессора слишком низкая" - -msgid "Not enough CPUs (cores) available" -msgstr "Недостаточно процессоров (ядер)" - -msgid "Not enough system RAM available" -msgstr "Недостаточно системной оперативной памяти" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "Недостаточно прав для привязки порта, или данный порт уже занят другим приложением. Выберите другой порт." - -msgid "JDBC Driver:" -msgstr "Драйвер JDBC:" - -msgid "JDBC URL:" -msgstr "URL-адрес JDBC:" - -msgid "JDK configuration" -msgstr "Конфигурация JDK" - -msgid "JDK Installation Directory:" -msgstr "Каталог установки JDK:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "Для работы ${product_fullname} требуется компонент Java." - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Домашний путь Java содержит пробелы. Alfresco Content Services может функционировать неправильно, поскольку при наличии пробелов в пути установки виртуальная машина Java будет работать с ошибками. Переустановите виртуальную машину Java по пути, который не содержит пробелы." - -msgid "This module requires Java, and no Java instance can be found." -msgstr "Этот модуль требует установки Java, но ни один экземпляр Java не найден." - -msgid "Launch ${product_fullname}" -msgstr "Запустить ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "Порт сервера LibreOffice" - -msgid "LibreOffice Server Port:" -msgstr "Порт сервера LibreOffice:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice.org - многоплатформенный пакет офисного программного обеспечения с открытым кодом для обработки текстов, электронных таблиц, презентаций, графики и баз данных, требуемых для преобразования документов." - -msgid "Location of bin and lib tomcat folders" -msgstr "Местоположение каталогов bin и lib сервера Tomcat" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® поддерживается только для оценивания." - -msgid "Manager Tool" -msgstr "Средство управления" - -msgid "Manual - Configure servers to start services manually" -msgstr "Вручную - настройте серверы на ручной запуск служб" - -msgid "New Component" -msgstr "Создать компонент" - -msgid "New Folder" -msgstr "Новая папка" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "Версия установленного PostgreSQL не 9.4.4. Рекомендуется установить PostgreSQL 9.4.4." - -msgid "Password" -msgstr "Пароль" - -msgid "Password must not contain leading or trailing spaces." -msgstr "Пароль не должен содержать пробелов ни в начале, ни в конце." - -msgid "Password:" -msgstr "Пароль:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "Выберите папку для установки ${product_fullname}." - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "Выберите для Alfresco Content Services номер порта, чтобы использовать для выполнения удаленных команд." - -msgid "Choose a port number for the integrated FTP server." -msgstr "Выберите номер порта для интегрированного FTP-сервера." - -msgid "Enter a valid IP address or hostname." -msgstr "Введите действительные IP-адрес или имя сервера." - -msgid "Enter the IP address or hostname for your database." -msgstr "Введите IP-адрес или имя сервера для своей базы данных." - -msgid "Enter your Tomcat configuration parameters." -msgstr "Введите параметры конфигурации Tomcat." - -msgid "Enter the port of your database." -msgstr "Введите порт своей базы данных." - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "Введите порт, который по умолчанию будет прослушиваться сервером LibreOffice." - -msgid "Enter your database 'postgres' user password." -msgstr "Введите пароль пользователя базы данных 'postgres'." - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "Укажите пароль для учетной записи администратора Alfresco Content Services." - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "Укажите другой каталог для установки. Установочный каталог не должен содержать символьные ссылки." - -msgid "Select services startup type." -msgstr "Выберите тип запуска служб." - -msgid "Select a Tomcat configuration" -msgstr "Выберите конфигурацию Tomcat" - -msgid "Select a database configuration." -msgstr "Выберите конфигурацию базы данных." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "Выберите этот модуль, чтобы разрешить приложениям, которые могут обращаться к серверу SharePoint, обращаться к вашей установке Alfresco Content Services." - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "Выберите этот модуль, чтобы разрешить приложениям, которые могут обращаться к серверу SharePoint, обращаться к вашей установке Alfresco Content Services (патентованный модуль, лицензированный по лицензии Alfresco Component)." - -msgid "Specify the directory where Tomcat is located." -msgstr "Укажите каталог, в котором находится Tomcat." - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "Укажите каталог, в котором находятся двоичные файлы psql, pg_restore и vacuumdb." - -msgid "Enter CIFS ports configuration." -msgstr "Укажите настройку портов CIFS." - -msgid "Port:" -msgstr "Порт:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "Каталог двоичных данных PostgreSQL" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL — мощная система объектно-реляционных баз данных с открытым исходным кодом." - -msgid "PostgreSQL postgres user password" -msgstr "Пароль пользователя PostgreSQL postgres" - -msgid "Program Files" -msgstr "Программные файлы" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "Файл README" - -msgid "README Folder Component" -msgstr "Компонент папки README" - -msgid "Re-enter password" -msgstr "Введите пароль повторно" - -msgid "Repeat Password:" -msgstr "Повторите пароль:" - -msgid "SMB Port" -msgstr "Порт SMB" - -msgid "SMTP TCP port in use" -msgstr "Используемый порт SMTP TCP" - -msgid "SMTP Port" -msgstr "Порт SMTP" - -msgid "Select a folder:" -msgstr "Выберите папку:" - -msgid "Service Startup Configuration" -msgstr "Конфигурация запуска служб" - -msgid "Service script name" -msgstr "Имя сценария службы" - -msgid "Specify the name of the database." -msgstr "Укажите имя базы данных." - -msgid "Specify the password for the database user." -msgstr "Укажите пароль для пользователя базы данных." - -msgid "Set the database user." -msgstr "Задайте пользователя базы данных." - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "Программа установки попытается установить новые базы данных и перезапишет любые копии. Продолжить?" - -msgid "Shortcuts Images" -msgstr "Изображения ярлыков" - -msgid "Show next steps" -msgstr "Показать следующие шаги" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "Некоторые или все библиотеки, необходимые для поддержки LibreOffice, отсутствуют в системе: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nМы настоятельно рекомендуем вам прервать данную установку и установить эти библиотеки.\nДля получения более подробной информации обратитесь к документации LibreOffice на сайте http://docs.alfresco.com\n\nПродолжить установку?" - -msgid "We support PostgreSQL as service only." -msgstr "PostgreSQL поддерживается только как служба." - -msgid "You need to be an administrator." -msgstr "Требуются права администратора." - -msgid "Start ${product_fullname} service" -msgstr "Запустить службу ${product_fullname}" - -msgid "Starting LibreOffice..." -msgstr "Запуск LibreOffice..." - -msgid "Starting servers..." -msgstr "Запуск серверов..." - -msgid "Stop ${product_fullname} service" -msgstr "Остановить службу ${product_fullname}" - -msgid "Stopping PostgreSQL..." -msgstr "Останавливается PostgreSQL..." - -msgid "Stopping Services" -msgstr "Остановка служб" - -msgid "Stopping servers" -msgstr "Остановка серверов" - -msgid "Stopping services" -msgstr "Остановка служб" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "Файл сценария службы ${product_shortname} существует. Используйте другое имя для данного сценария службы." - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "С течением времени каталог данных увеличивается в размере. Выберите место его хранения." - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "Текущий каталог для установки недоступен для пользователей, не относящихся к категории root. Выберите другой каталог для установки или измените полномочия для данной папки на 755." - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "Выбранный каталог не является допустимым каталогом JDK. Выберите другой каталог." - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "Выбранный каталог не является допустимым каталогом Tomcat. Выберите другой каталог." - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "В имени пути к каталогу установки должны содержаться только буквы, цифры, а также символы '/', '.', ‘-‘, '_'." - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "Установка не завершена, потому что для текущей пользовательской маски создания (umask) указаны полномочия ${base_umask}. Перед перезапуском программы установки установите для umask значение не менее 0022. По завершении установки можно сбросить полномочия umask до значения по умолчанию." - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "Программе установки не удалось получить доступ к имеющемуся свободному пространству в ${installdir}. Убедитесь, что свободного пространства достаточно для установки ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "Длина пароля должна быть больше 3 символов." - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "В каталоге ${postgres_binary_directory} нет исполняемого файла pg_restore." - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "В каталоге ${postgres_binary_directory} нет исполняемого файла pg_vacuumdb." - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "Путь ${postgres_binary_directory} является недопустимым. Проверьте, содержит ли данный каталог требуемые двоичные данные." - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "Выбранная папка не пуста. Укажите другую папку." - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "Данный файл сценария службы существует. Введите другое имя для данного сценария службы." - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "Вы выбрали 32-разрядную версию Java, в то время как устанавливается 64-разрядная версия Alfresco Content Services. Перед продолжением необходимо установить 64-разрядную версию Java либо вернуться назад и выбрать компонент Java." - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "Недостаточно свободного пространства в ${installdir}. Необходимо не менее ${base_needed_space} МБ для установки ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "Эта среда не настраивается для Alfresco Content Services оптимальным образом — внимательно ознакомьтесь со списком, прежде чем продолжить.\n\nХотя указанные проблемы не препятствуют работе Alfresco Content Services, некоторые функции продукта могут быть недоступными, или система может работать неоптимально." - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "Данная программа установки предназначена для 64-разрядной ОС Windows. Загрузите версию для 32-разрядной ОС Windows." - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "Этот выпуск был помещен в пакет для выполнения в среде J2SE версии ${java_min_version} или более новой версии. Установите совместимую версию Java и повторите попытку." - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "Этот выпуск был помещен в пакет для выполнения в среде J2SE версии ${java_min_version}. Установите совместимую версию Java и повторите попытку." - -msgid "Tomcat AJP Port:" -msgstr "AJP-порт Tomcat:" - -msgid "Tomcat Directory" -msgstr "Каталог Tomcat" - -msgid "Tomcat JMX Port:" -msgstr "Порт Tomcat JMX:" - -msgid "Tomcat Port Configuration" -msgstr "Конфигурация портов Tomcat" - -msgid "Tomcat SSL Port:" -msgstr "Порт Tomcat SSL:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Номера порта сервера Tomcat и порта отключения Tomcat не могут совпадать. Выберите другой порт отключения Tomcat." - -msgid "Tomcat Server Port:" -msgstr "Порт сервера Tomcat:" - -msgid "Tomcat Shutdown Port:" -msgstr "Порт отключения Tomcat:" - -msgid "Tomcat Directory:" -msgstr "Каталог Tomcat:" - -msgid "Tomcat Installation:" -msgstr "Установка Tomcat:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Выберите другой FTP-порт." - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Выберите другой RMI-порт." - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Выберите другой AJP-порт Tomcat." - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Выберите другой JMX-порт Tomcat." - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Выберите другой SSL-порт Tomcat." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Выберите другой порт сервера Tomcat." - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Выберите другой порт отключения Tomcat." - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "В полях настройки порта можно использовать только цифры. Другие символы недопустимы." - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "Не удается выполнить привязку к данному порту сервера. Убедитесь, что ${serverName} не запущен." - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "Не удается подключиться к базе данных. Проверьте конфигурацию." - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "Не удается найти сервер, использующий порт с заданным номером. Выберите другой порт." - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "Не удается найти сервер, использующий порт ${postgres_port}. Запустите свой сервер базы данных." - -msgid "Couldn’t get free disk space." -msgstr "Не удалось получить свободное место на диске." - -msgid "Uninstall ${product_fullname}" -msgstr "Удалить ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "Удалить службу ${product_fullname}" - -msgid "Uninstalling service" -msgstr "Удаление службы" - -msgid "Uninstalling services" -msgstr "Удаление служб" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "Используйте, чтобы настроить назначение контента в папке команд" - -msgid "User" -msgstr "Пользователь" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "Имя пользователя '${username}' уже зарезервировано. Выберите другое имя пользователя." - -msgid "Username:" -msgstr "Имя пользователя:" - -msgid "Verify:" -msgstr "Подтвердите:" - -msgid "Waiting for PostgreSQL to start" -msgstr "Ожидается запуск PostgreSQL" - -msgid "Waiting for Postmaster" -msgstr "Ожидается Postmaster" - -msgid "War files" -msgstr "Файлы War" - -msgid "Warning" -msgstr "Осторожно!" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "Не удалось найти подходящую установку JDK в вашей системе. Для ${product_fullname} требуется JDK ${java_min_version} или более новая версия." - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Веб-сервер" - -msgid "Web Server Domain:" -msgstr "Домен веб-сервера:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "Вы пытаетесь установить приложение на базе Ruby ${rubyVersion} в неподдерживающийся стек Bitnami. Загрузите и установите стек Ruby версии ${rubyVersion} с сайта bitnami.com" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "Если зарегистрировать ${product_fullname} как службу, он будет автоматически запускаться вместе с компьютером." - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "Вы выбрали использование существующего сервера Tomcat. Перезагрузите Tomcat, чтобы использовать любые недавно установленные приложения." - -msgid "Select at least one of the Solr components." -msgstr "Выберите как минимум один из компонентов Solr." - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "При вводе пароля в программу установки используйте только символы ASCII. Если необходимо использовать символы, отличные от ASCII, это можно сделать путем сброса пароля после установки." - -msgid "Connect Alfresco Share to the repository" -msgstr "Подключение Alfresco Share к репозиторию" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "Введите местоположение репозитория Alfresco Content Services." - -msgid "Repository location: " -msgstr "Местоположение репозитория: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr — Используйте Solr 1.4 только при обновлении со старых версий Alfresco Content Services." - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr — это корпоративная поисковая платформа с открытым исходным кодом, использующая для индексации и поиска движок Apache Lucene. Solr 4 представляет повышенную масштабируемость, производительность и гибкость по сравнению с Solr 1." - -msgid "Unable to bind to the given port number." -msgstr "Не удается выполнить привязку к заданному номеру порта." - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "Не удается выполнить привязку к заданному номеру порта. Этот порт уже используется процессом ${process_binding_port}. Выберите другой порт сервера ${serverName}." - -msgid "Remote Solr configuration" -msgstr "Удаленная настройка Solr" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "Введите порт и узел Solr для подключения к Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Узел Solr:" - -msgid "Solr SSL port:" -msgstr "SSL-порт Solr" - -msgid "Sharded Solr installation" -msgstr "Установка Solr с сегментированной базой данных" - -msgid "Are you using a sharded Solr installation?" -msgstr "Вы используете установку Solr с сегментированной базой данных?" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Нет" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "Прочитайте лицензионное соглашение. Вы должны принять его условия прежде, чем перейти к установке." diff --git a/installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po b/installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po deleted file mode 100644 index 48f3b7938d..0000000000 --- a/installer-resources/src/main/resources/bitrock/lang/alf-zh_CN.po +++ /dev/null @@ -1,683 +0,0 @@ -msgid "${machine_total_memoryGB} GB of RAM is not enough to run Alfresco Content Services for test or production purposes. Alfresco Content Services might not work correctly and if it does, will not perform well. Upgrade the server to have at least ${minimum_ramGB} GB of RAM, and optimally ${recommended_ramGB} GB of RAM." -msgstr "${machine_total_memoryGB} GB 的 RAM 不足够运行 Alfresco Content Services 用于测试或生产目的。Alfresco Content Services 可能无法正常运行,如果确实如此,则其将不能发挥最佳性能。升级服务器以至少拥有 ${minimum_ramGB} GB 的 RAM,最好拥有 ${recommended_ramGB} GB 的 RAM。" - -msgid "${product_fullname} LibreOffice Service" -msgstr "${product_fullname} LibreOffice 服务" - -msgid "${product_fullname} Service" -msgstr "${product_fullname} 服务" - -msgid "${product_shortname} Manager Tool" -msgstr "${product_shortname} 管理员工具" - -msgid "32-bit Microsoft Windows® is supported for evaluation use only." -msgstr "32 位 Microsoft Windows® 仅支持评估使用。" - -msgid "64-bit architecture recommended" -msgstr "建议使用 64 位体系结构" - -msgid "Admin Password" -msgstr "管理密码" - -msgid "Admin Password:" -msgstr "管理密码:" - -msgid "Advanced - Configure server ports and service properties." -msgstr "高级 - 配置服务器端口和服务属性。" - -msgid "Alfresco Content Services" -msgstr "Alfresco Content Services" - -msgid "Alfresco Community Edition" -msgstr "Alfresco Community Edition" - -msgid "Alfresco Content Services Enterprise Content Management (ECM) system featuring Document Management, Collaboration Management, and Image Management." -msgstr "Alfresco Content Services Enterprise Content Management (ECM) 系统具有文档管理、合作管理和图像管理等功能。" - -msgid "FTP Port" -msgstr "FTP 端口" - -msgid "Alfresco Module Packages" -msgstr "Alfresco Module Package" - -msgid "RMI Port" -msgstr "RMI 端口" - -msgid "Alfresco Share" -msgstr "Alfresco Share" - -msgid "Shortcuts" -msgstr "快捷方式" - -msgid "Validations" -msgstr "验证" - -msgid "Alfresco Website" -msgstr "Alfresco 网站" - -msgid "Data Directory" -msgstr "数据目录" - -msgid "Choose optional components to install." -msgstr "还可以选择要安装的可选组件。" - -msgid "Auto - Configure servers to start automatically" -msgstr "自动 - 将服务器配置为自动启动" - -msgid "CIFS TCP ports in use" -msgstr "正在使用的 CIFS TCP 端口" - -msgid "CIFS UDP ports in use" -msgstr "正在使用的 CIFS UDP 端口" - -msgid "CIFS protocol ports configuration" -msgstr "CIFS 协议端口配置" - -msgid "CIFS server port" -msgstr "CIFS 服务器端口" - -msgid "CIFS server port 1" -msgstr "CIFS 服务器端口 1" - -msgid "CIFS server port 2" -msgstr "CIFS 服务器端口 2" - -msgid "Configuration Files" -msgstr "配置文件" - -msgid "Creating user and database" -msgstr "创建用户和数据库" - -msgid "Database Configuration" -msgstr "数据库配置" - -msgid "Database Installation" -msgstr "数据库安装" - -msgid "Database Server Parameters" -msgstr "数据库服务器参数" - -msgid "Database Server Port:" -msgstr "数据库服务器端口:" - -msgid "Database Name" -msgstr "数据库名称" - -msgid "Database Name:" -msgstr "数据库名称:" - -msgid "Deploying Alfresco Content Services... This can take up to five minutes." -msgstr "正在部署 Alfresco Content Services... 这可能需要 5 分钟。" - -msgid "Do you want to install PostgreSQL as a Windows service?" -msgstr "是否要将 PostgreSQL 作为 Windows 服务安装?" - -msgid "Easy - Install using the default configuration." -msgstr "简单 - 使用默认配置安装。" - -msgid "Extension Files" -msgstr "扩展文件" - -msgid "Google Docs Integration" -msgstr "Google Docs 集成" - -msgid "I want to use an existing PostgreSQL database." -msgstr "我希望使用现有的 PostgreSQL 数据库。" - -msgid "I want to use an existing Tomcat instance." -msgstr "我希望使用现有的 Tomcat 实例。" - -msgid "I want to use the bundled PostgreSQL database." -msgstr "我希望使用捆绑的 PostgreSQL 数据库。" - -msgid "I want to use the bundled Tomcat instance." -msgstr "我希望使用捆绑的 Tomcat 实例。" - -msgid "IMAP TCP port in use." -msgstr "正在使用的 IMAP TCP 端口。" - -msgid "IMAP Port" -msgstr "IMAP 端口" - -msgid "IP / Hostname" -msgstr "IP/主机名" - -msgid "Include Alfresco Web Quick Start." -msgstr "包括 Alfresco Web Quick Start。" - -msgid "Include Google Docs Integration Features." -msgstr "包括 Google Docs 集成功能。" - -msgid "Initializing database" -msgstr "初始化数据库" - -msgid "Install ${product_fullname} as a service?" -msgstr "将 ${product_fullname} 作为服务安装?" - -msgid "Install ${product_fullname} as service" -msgstr "将 ${product_fullname} 作为服务安装" - -msgid "Install PostgreSQL as a service?" -msgstr "将 PostgreSQL 作为服务安装?" - -msgid "Install as a service" -msgstr "作为服务安装" - -msgid "Installation Folder" -msgstr "安装文件夹" - -msgid "Installation Type" -msgstr "安装类型" - -msgid "Installation directory path is too long. The maximum number of characters allowed is ${base_installdir_max_characters}." -msgstr "安装目录路径太长。允许的最大字符数为 ${base_installdir_max_characters}。" - -msgid "Installation folder" -msgstr "安装文件夹" - -msgid "Installation folder cannot contain spaces." -msgstr "安装文件夹不得包含空格。" - -msgid "Installing Alfresco Module Packages (AMPs)" -msgstr "安装 Alfresco Module Package (AMP)" - -msgid "Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName}" -msgstr "将 LibreOffice 作为名为 ${LibreOfficeUniqueServiceName} 的 Windows 服务安装" - -msgid "Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name}" -msgstr "将 PostgreSQL 作为名为 ${postgres_unique_service_name} 的 Windows 服务安装" - -msgid "Installing Tomcat as a Windows service with name ${tomcat_unique_service_name}" -msgstr "将 Tomcat 作为名为 ${tomcat_unique_service_name} 的 Windows 服务安装" - -msgid "Not enough file descriptors available" -msgstr "文件描述符不足" - -msgid "CPU clock speed is too slow" -msgstr "CPU 时钟速度太慢。" - -msgid "Not enough CPUs (cores) available" -msgstr "CPU(核心)不足" - -msgid "Not enough system RAM available" -msgstr "系统 RAM 不足" - -msgid "You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port." -msgstr "您没有足够的权限捆绑到端口,或端口已经被其他应用程序占用。请选择其他端口。" - -msgid "JDBC Driver:" -msgstr "JDBC 驱动程序:" - -msgid "JDBC URL:" -msgstr "JDBC URL:" - -msgid "JDK configuration" -msgstr "JDK 配置" - -msgid "JDK Installation Directory:" -msgstr "JDK 安装目录:" - -msgid "Java" -msgstr "Java" - -msgid "Java Component required to run ${product_fullname}." -msgstr "运行 ${product_fullname} 所需的 Java 组件。" - -msgid "Java Home path contains spaces. Alfresco Content Services might not work properly, as the JVM has problems when the installation path contains spaces. Reinstall the JVM in a path that does not contain spaces." -msgstr "Java 主路径包含空格。Alfresco Content Services 可能无法正常工作,因为当安装路径包含空格时,JVM 存在问题。在不包含空格的路径中重新安装 JVM。" - -msgid "This module requires Java, and no Java instance can be found." -msgstr "此模块要求安装 Java,且无法找到 Java 实例。" - -msgid "Launch ${product_fullname}" -msgstr "启动 ${product_fullname}" - -msgid "LibreOffice" -msgstr "LibreOffice" - -msgid "LibreOffice Server Port" -msgstr "LibreOffice 服务器端口" - -msgid "LibreOffice Server Port:" -msgstr "LibreOffice 服务器端口:" - -msgid "LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations." -msgstr "LibreOffice 是多平台、开源办公软件套件,适用于文字处理、电子表格、演示文稿、图形以及文档转换所需的数据库。" - -msgid "Location of bin and lib tomcat folders" -msgstr "bin 和 lib tomcat 文件夹的位置" - -msgid "Mac OS X® is supported for evaluation use only." -msgstr "Mac OS X® 仅支持评估使用。" - -msgid "Manager Tool" -msgstr "管理员工具" - -msgid "Manual - Configure servers to start services manually" -msgstr "手动 - 将服务器配置为手动启动服务" - -msgid "New Component" -msgstr "新建组件" - -msgid "New Folder" -msgstr "新建文件夹" - -msgid "Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended." -msgstr "非 PostgreSQL 版本 9.4.4 安装。建议使用 PostgreSQL 9.4.4。" - -msgid "Password" -msgstr "密码" - -msgid "Password must not contain leading or trailing spaces." -msgstr "密码开头和结尾不应包含空格。" - -msgid "Password:" -msgstr "密码:" - -msgid "Choose a folder to install ${product_fullname}." -msgstr "请选择要安装 ${product_fullname} 的文件夹。" - -msgid "Choose a port number for Alfresco Content Services to use to execute remote commands." -msgstr "请选择 Alfresco Content Services 执行远程命令使用的端口号。" - -msgid "Choose a port number for the integrated FTP server." -msgstr "请选择集成式 FTP 服务器的端口号。" - -msgid "Enter a valid IP address or hostname." -msgstr "请输入有效的 IP 地址或主机名。" - -msgid "Enter the IP address or hostname for your database." -msgstr "请输入数据库的 IP 地址或主机名。" - -msgid "Enter your Tomcat configuration parameters." -msgstr "请输入 Tomcat 配置参数。" - -msgid "Enter the port of your database." -msgstr "请输入数据库端口。" - -msgid "Enter the port that the LibreOffice Server will listen to." -msgstr "请输入 LibreOffice 服务器将侦听的端口。" - -msgid "Enter your database 'postgres' user password." -msgstr "请输入数据库 ‘postgres’ 用户密码。" - -msgid "Specify a password for the Alfresco Content Services administrator account." -msgstr "请指定 Alfresco Content Services 管理员帐户的密码。" - -msgid "Select a different installation directory. The installation directory cannot contain symbolic links." -msgstr "请另选一个安装路径。安装路径不能包含符号链接。" - -msgid "Select services startup type." -msgstr "请选择服务启动类型。" - -msgid "Select a Tomcat configuration" -msgstr "请选择 Tomcat 配置" - -msgid "Select a database configuration." -msgstr "请选择数据库配置。" - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation." -msgstr "选择此模块后,可与 SharePoint 服务器通信的应用程序将能与您的 Alfresco Content Services 安装通信。" - -msgid "Select this module to allow applications that can talk to a SharePoint server to talk to your Alfresco Content Services installation (proprietary module licensed under the Alfresco Component License)." -msgstr "选择此模块后,可与 SharePoint 服务器通信的应用程序将能与您的 Alfresco Content Services 安装通信 (Alfresco 组件许可证授权的专有模块)。" - -msgid "Specify the directory where Tomcat is located." -msgstr "请指定 Tomcat 所在的目录。" - -msgid "Specify the directory where the psql, pg_restore, and vacuumdb binaries are located." -msgstr "请指定 psql、pg_restore 和 vacuumdb 二进制文件所在的目录。" - -msgid "Enter CIFS ports configuration." -msgstr "请输入 CIFS 端口配置。" - -msgid "Port:" -msgstr "端口:" - -msgid "PostgreSQL" -msgstr "PostgreSQL" - -msgid "PostgreSQL Binary Directory" -msgstr "PostgreSQL 二进制目录" - -msgid "PostgreSQL is a powerful, open source, object-relational database system." -msgstr "PostgreSQL 是一种强大的开源对象相关的数据库系统。" - -msgid "PostgreSQL postgres user password" -msgstr "PostgreSQL postgres 用户密码" - -msgid "Program Files" -msgstr "Program Files" - -msgid "README" -msgstr "README" - -msgid "README File" -msgstr "README 文件" - -msgid "README Folder Component" -msgstr "README 文件夹组件" - -msgid "Re-enter password" -msgstr "重新输入密码" - -msgid "Repeat Password:" -msgstr "确认密码:" - -msgid "SMB Port" -msgstr "SMB 端口" - -msgid "SMTP TCP port in use" -msgstr "正在使用的 SMTP TCP 端口" - -msgid "SMTP Port" -msgstr "SMTP 端口" - -msgid "Select a folder:" -msgstr "选择文件夹:" - -msgid "Service Startup Configuration" -msgstr "服务启动配置" - -msgid "Service script name" -msgstr "服务脚本名称" - -msgid "Specify the name of the database." -msgstr "请指定数据库名称。" - -msgid "Specify the password for the database user." -msgstr "请指定数据库用户的密码。" - -msgid "Set the database user." -msgstr "设置数据库用户。" - -msgid "Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue?" -msgstr "安装程序将尝试安装新数据库,并覆盖任何重复。是否继续?" - -msgid "Shortcuts Images" -msgstr "快捷方式图像" - -msgid "Show next steps" -msgstr "显示后续步骤" - -msgid "Solr1" -msgstr "Solr1" - -msgid "Solr4" -msgstr "Solr4" - -msgid "Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\nYou are strongly advised to stop this installation and install the libraries.\nFor more information, see the LibreOffice documentation at http://docs.alfresco.com\n\nDo you want to continue with the installation?" -msgstr "在您的系统中找不到支持 LibreOffice 所需的部分或全部资料库:fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx\n强烈建议您停止本次安装,并安装资料库。\n有关更多信息,请参阅 http://docs.alfresco.com 上的 LibreOffice 文档\n\n是否要继续安装?" - -msgid "We support PostgreSQL as service only." -msgstr "我们只支持 PostgreSQL 服务。" - -msgid "You need to be an administrator." -msgstr "您需要为管理员。" - -msgid "Start ${product_fullname} service" -msgstr "启动 ${product_fullname} 服务" - -msgid "Starting LibreOffice..." -msgstr "正在启动 LibreOffice..." - -msgid "Starting servers..." -msgstr "正在启动服务器..." - -msgid "Stop ${product_fullname} service" -msgstr "停止 ${product_fullname} 服务" - -msgid "Stopping PostgreSQL..." -msgstr "正在停止 PostgreSQL..." - -msgid "Stopping Services" -msgstr "停止服务" - -msgid "Stopping servers" -msgstr "停止服务器" - -msgid "Stopping services" -msgstr "停止服务" - -msgid "The ${product_shortname} service script file exists. Use a different name for the service script." -msgstr "${product_shortname} 服务脚本文件已存在。请使用不同的服务脚本名称。" - -msgid "The data directory increases in size over time. Choose where you want to store it." -msgstr "数据目录趋向于增大。请选择存储位置。" - -msgid "The current installation directory cannot be accessed by non-root users. Select a different installation directory or change the permissions to 755 for this folder." -msgstr "非根用户无法访问当前的安装目录。请另选一个安装目录或将该文件夹的权限更改为 755。" - -msgid "The directory you selected is not a valid JDK directory. Choose another directory." -msgstr "您所选的目录是无效的 JDK 目录。请选择其他目录。" - -msgid "The directory you selected is not a valid Tomcat directory. Choose another directory." -msgstr "您所选的目录是无效的 Tomcat 目录。请选择其他目录。" - -msgid "The installation directory must be a path containing letters, numbers, and '/', '.', ‘-‘, and '_' characters only." -msgstr "安装目录必须为仅包含字母、数字和字符(‘/’、‘.’、‘-‘和'_')的路径。" - -msgid "The installation has not completed because the current umask is set to permissions of ${base_umask}. Modify your umask setting to at least 0022 before relaunching the installer. After the installation has completed, reset the umask permissions to your original values." -msgstr "由于当前的 umask 设置为权限 ${base_umask},安装未完成。重新启动安装程序前,请将您的 umask 设置修改为至少是 0022。安装完成后,将您的 umask 权限重新设置为您的原始值。" - -msgid "The installer could not access the current free space on ${installdir}. Check that there is enough free space to install ${product_fullname}" -msgstr "安装程序目前无法在 ${installdir} 上获得可用空间。请检查是否有足够的可用空间来安装 ${product_fullname}" - -msgid "The password must be longer than 3 characters." -msgstr "密码长度必须大于 3 个字符。" - -msgid "The path ${postgres_binary_directory} does not contain a pg_restore executable." -msgstr "路径 ${postgres_binary_directory} 不包含可执行的 pg_restore。" - -msgid "The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable." -msgstr "路径 ${postgres_binary_directory} 不包含可执行的 pg_vacuumdb。" - -msgid "The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries." -msgstr "路径 ${postgres_binary_directory} 无效。请检查目录是否包含所需的二进制文件。" - -msgid "The selected folder is not empty. Specify a different folder." -msgstr "所选的文件夹不为空。请指定其他文件夹。" - -msgid "The service script file exists. Insert a different name for the service script." -msgstr "服务脚本文件已存在。请插入不同的服务脚本名称。" - -msgid "The version of Java you have selected is 32 bit, but this is a 64 bit installation of Alfresco Content Services. Install a 64 bit version of Java before continuing, or go back and ensure the "Java" component is selected." -msgstr "您选择的 Java 版本为 32 位,但该 Alfresco Content Services 的安装为 64 位。请安装 64 位版本的 Java,然后再继续操作,或返回并确认已选择"Java"组件。" - -msgid "There is not enough free space on ${installdir}. You need at least ${base_needed_space} MB in order to install ${product_fullname}" -msgstr "${installdir} 上没有足够的可用空间。您需要至少 ${base_needed_space} MB 才可安装 ${product_fullname}" - -msgid "This environment is not configured optimally for Alfresco Content Services - review this list before continuing.\n\nWhile these issues won’t prevent Alfresco Content Services from functioning, some product features might not be available, or the system might not perform optimally." -msgstr "此环境没有为 Alfresco Content Services 进行优化配置 - 请仔细阅读此列表后再继续操作。\n\n虽然这些问题不会妨碍 Alfresco Content Services 正常运行,但有些产品功能可能不可用,或者系统可能无法发挥最佳性能。" - -msgid "This installer is for Windows 64 bit. Download the Windows 32 bit version." -msgstr "此安装程序适用于 Windows 64 位。请下载 Windows 32 位版本。" - -msgid "This release was packaged to run on J2SE ${java_min_version} or later. Install a compatible Java version and try again." -msgstr "此版本打包后在 J2SE ${java_min_version} 或更高版本上运行。请安装兼容的 Java 版本并重试。" - -msgid "This release was packaged to run on J2SE ${java_min_version}. Install a compatible Java version and try again." -msgstr "此版本打包后在 J2SE ${java_min_version} 上运行。请安装兼容的 Java 版本并重试。" - -msgid "Tomcat AJP Port:" -msgstr "Tomcat AJP 端口:" - -msgid "Tomcat Directory" -msgstr "Tomcat 目录" - -msgid "Tomcat JMX Port:" -msgstr "Tomcat JMX 端口:" - -msgid "Tomcat Port Configuration" -msgstr "Tomcat 端口配置" - -msgid "Tomcat SSL Port:" -msgstr "Tomcat SSL 端口:" - -msgid "Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." -msgstr "Tomcat 服务器端口和 Tomcat 关闭端口不能为相同的端口。请选择其他 Tomcat 关闭端口。" - -msgid "Tomcat Server Port:" -msgstr "Tomcat 服务器端口:" - -msgid "Tomcat Shutdown Port:" -msgstr "Tomcat 关闭端口:" - -msgid "Tomcat Directory:" -msgstr "Tomcat 目录:" - -msgid "Tomcat Installation:" -msgstr "Tomcat 安装:" - -msgid "Couldn’t bind to the given port number. Select another FTP Port." -msgstr "无法捆绑到给定的端口号。请选择其他 FTP 端口。" - -msgid "Couldn’t bind to the given port number. Select another RMI Port." -msgstr "无法捆绑到给定的端口号。请选择其他 RMI 端口。" - -msgid "Couldn’t bind to the given port number. Select another Tomcat AJP Port." -msgstr "无法捆绑到给定的端口号。请选择其他 Tomcat AJP 端口。" - -msgid "Couldn’t bind to the given port number. Select another Tomcat JMX Port." -msgstr "无法捆绑到给定的端口号。请选择其他 Tomcat JMX 端口。" - -msgid "Couldn’t bind to the given port number. Select another Tomcat SSL Port." -msgstr "无法捆绑到给定的端口号。请选择其他 Tomcat SSL 端口。" - -msgid "Couldn’t bind to the given port number. Select another Tomcat Server Port." -msgstr "无法捆绑到给定的端口号。请选择其他 Tomcat 服务器端口。" - -msgid "Couldn’t bind to the given port number. Select another Tomcat Shutdown Port." -msgstr "无法捆绑到给定的端口号。请选择其他 Tomcat 关闭端口。" - -msgid "Use numbers only in the port configuration fields. Other characters are not permitted." -msgstr "端口配置字段中只能出现数字。 不允许出现其他字符。" - -msgid "Couldn’t bind to the server port. Make sure that ${serverName} is not running." -msgstr "无法捆绑到服务器端口。请确保 ${serverName} 没有在运行。" - -msgid "Couldn’t connect to database. Check your configuration." -msgstr "无法连接到数据库。请检查配置。" - -msgid "Couldn’t find a server running at this port number. Select another port." -msgstr "无法找到在此端口号运行的服务器。请选择其他端口。" - -msgid "Couldn’t find a server running at port ${postgres_port}. Start your database server." -msgstr "无法找到在 ${postgres_port} 端口运行的服务器。请启动数据库服务器。" - -msgid "Couldn’t get free disk space." -msgstr "无法获得可用磁盘空间。" - -msgid "Uninstall ${product_fullname}" -msgstr "卸载 ${product_fullname}" - -msgid "Uninstall ${product_fullname} service" -msgstr "卸载 ${product_fullname} 服务" - -msgid "Uninstalling service" -msgstr "卸载服务" - -msgid "Uninstalling services" -msgstr "卸载服务" - -msgid "Use to configure the destination of the content in commands folder" -msgstr "用于配置命令文件夹中的内容目标" - -msgid "User" -msgstr "用户" - -msgid "Username '${username}' is reserved. Use a different user name." -msgstr "用户名 '${username}' 已预留。请使用其他用户名。" - -msgid "Username:" -msgstr "用户名:" - -msgid "Verify:" -msgstr "验证:" - -msgid "Waiting for PostgreSQL to start" -msgstr "等待 PostgreSQL 启动" - -msgid "Waiting for Postmaster" -msgstr "等待 Postmaster" - -msgid "War files" -msgstr "War 文件" - -msgid "Warning" -msgstr "警告" - -msgid "Unable to find a suitable JDK installation in your system. ${product_fullname} requires JDK ${java_min_version} or later." -msgstr "在系统中找不到合适的 JDK 安装。${product_fullname} 要求 JDK ${java_min_version} 或更高版本。" - -msgid "Web Quick Start" -msgstr "Web Quick Start" - -msgid "Web Server" -msgstr "Web 服务器" - -msgid "Web Server Domain:" -msgstr "Web 服务器域:" - -msgid "You are trying to install a Ruby ${rubyVersion} based application in a Bitnami stack that is not supported. Download and install Ruby Stack ${rubyVersion} version from bitnami.com" -msgstr "您正在尝试在不受支持的 Bitnami 堆栈中安装基于 Ruby ${rubyVersion} 的应用程序。请从 bitnami.com 下载并安装 Ruby 堆栈 ${rubyVersion} 版本" - -msgid "If you register ${product_fullname} as a service it will automatically start ${product_fullname} on machine startup." -msgstr "如果您将 ${product_fullname} 注册为一项服务,机器启动时,将会自动启动 ${product_fullname}。" - -msgid "You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications." -msgstr "您已将 Tomcat 选为现有安装。重新启动 Tomcat 才能使用任何新安装的应用程序。" - -msgid "Select at least one of the Solr components." -msgstr "请至少选择一个 Solr 组件。" - -msgid "Use ASCII characters only when setting the password in the installer. If you want to use non-ASCII characters, you can do this by resetting the password after installation." -msgstr "只有在安装程序中设置密码时才使用 ASCII 字符。如果要使用非 ASCII 字符,您可以通过安装后重置密码来执行此操作。" - -msgid "Connect Alfresco Share to the repository" -msgstr "将 Alfresco Share 连接到存储库" - -msgid "Enter the location of your Alfresco Content Services repository." -msgstr "请输入 Alfresco Content Services 存储库的位置。" - -msgid "Repository location: " -msgstr "存储库位置: " - -msgid "Solr - Install Solr 1.4 only for upgrading from earlier Alfresco Content Services versions." -msgstr "Solr - 仅从早期的 Alfresco Content Services 版本升级时需要安装 Solr 1.4。" - -msgid "Solr is an open source enterprise search platform that uses Apache Lucene as an indexing and search engine. Solr 4 provides improvements in scalability, performance, and flexibility over Solr 1." -msgstr "Solr 是一种开源的企业搜索平台,使用 Apache Lucene 作为索引和搜索引擎。与 Solr 1 相比,Solr 4 在可扩展性、性能和灵活性方面进行了改进。" - -msgid "Unable to bind to the given port number." -msgstr "无法绑定提供的服务器端口。" - -msgid "Unable to bind to the given port number. This port is already in use by the ${process_binding_port} process. Select another ${serverName} Server Port." -msgstr "无法绑定提供的服务器端口。此端口已被 ${process_binding_port} 进程使用。请选择其他 ${serverName} 服务器端口。" - -msgid "Remote Solr configuration" -msgstr "远程 Solr 配置" - -msgid "Enter the Solr host and port to connect to Alfresco Content Services:" -msgstr "输入 Solr 主机和端口以连接至 Alfresco Content Services:" - -msgid "Solr host:" -msgstr "Solr 主机:" - -msgid "Solr SSL port:" -msgstr "Solr SSL 端口:" - -msgid "Sharded Solr installation" -msgstr "安装 Solr 分片" - -msgid "Are you using a sharded Solr installation?" -msgstr "您是否安装使用了 Solr 分片?" - -msgid "Yes" -msgstr "是" - -msgid "No" -msgstr "否" - -msgid "Read the following License Agreement. You must accept the terms of this agreement before continuing with the installation." -msgstr "请仔细阅读下面的许可协议。您必须在继续安装之前接受本协议的条款。" diff --git a/installer-resources/src/main/resources/bitrock/libreoffice-validations.xml b/installer-resources/src/main/resources/bitrock/libreoffice-validations.xml deleted file mode 100644 index dfd236d6f7..0000000000 --- a/installer-resources/src/main/resources/bitrock/libreoffice-validations.xml +++ /dev/null @@ -1,110 +0,0 @@ - - libreofficevalidations - - - 1 - 0 - - - - - - - - - - - - - - Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx -You are strongly advised to stop this installation and install the libraries. -For more information, see the LibreOffice documentation at http://docs.alfresco.com/search/site/all?keys=libfontconfig - -Do you want to continue with the installation? - continue_installation - no - or - - - and - - - - - - or - - - - - - - - - - - - - - - - - and - - - - - - or - - - - - - - - - - - - - - - - - and - - - - or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/libreoffice.xml b/installer-resources/src/main/resources/bitrock/libreoffice.xml deleted file mode 100644 index 76aa110b03..0000000000 --- a/installer-resources/src/main/resources/bitrock/libreoffice.xml +++ /dev/null @@ -1,293 +0,0 @@ - - libreofficecomponent - LibreOffice - LibreOffice.org is a multiplatform, open-source office software suite for word processing, spreadsheets, presentations, graphics, and databases required for document transformations. - 1 - 1 - - - - - - - - - - - 0 - - libreoffice_directory - libreoffice_directory - - - libreoffice_port - LibreOffice Server Port - LibreOffice Server Port: - Enter the port that the LibreOffice Server will listen to. - 8100 - 8100 - 1 - 1 - 10 - - - - or - - - - - - - libreofficeservice_startup - 0 - auto - auto - 0 - - - libreofficeservice_notstart - 0 - 0 - 0 - 0 - - - - - - ${product_shortname}LibreOffice - ${product_fullname} LibreOffice Service - LibreOfficeUniqueServiceName - LibreOfficeUniqueDisplayName - - - - - - - - - - - - - - - LibreOffice - ${libreoffice_directory} - libreoffice - all - - - ${libreoffice_distribution_folder}/* - - - - - - - - - - 0 - 0 - sc - stop ${LibreOfficeUniqueServiceName} - - - - - - - - - - - - - - - - - - - - - - - - - ${installdir}/${ctlscript_unix} - exact - - - $INSTALLDIR/libreoffice/ - $INSTALLDIR/libreoffice.app/ - - - - - - - - ${libreoffice_directory}/Contents/MacOS/bootstraprc;${libreoffice_directory}/Contents/Resources/bootstraprc;${libreoffice_directory}/program/bootstraprc - - - @@BITROCK_LO_ROOTDIR@@ - ${libreoffice_directory.unix} - - - - - ${libreoffice_directory}/program/soffice.bin - - - @@BITROCK_LO_ROOTDIR@@ - ${libreoffice_directory.unix} - - - - - - - - ${libreoffice_directory}/scripts/ctl.sh - - - @@BITROCK_LO_ROOTDIR@@ - ${libreoffice_directory} - - - @@BITROCK_LO_PORT@@ - ${libreoffice_port} - - - - - - 755 - ${libreoffice_directory} - - - 744 - ${libreoffice_directory}/scripts/ctl.sh - - - Starting LibreOffice... - ${libreoffice_directory}/scripts/ctl.sh - start - - - - - - Starting LibreOffice... - ${libreoffice_directory}/scripts/ctl.sh - start - - - - - - 755 - ${libreoffice_directory} - - - - - - - - - - - - - - - - - - - ${installdir}/libreoffice/App/libreoffice/program/bootstrap.ini - - - - - - ${libreoffice_directory}/scripts/servicerun.bat;${libreoffice_directory}/scripts/serviceinstall.bat - - - @@BITROCK_LO_ROOTDIR@@ - ${libreoffice_directory.dos} - - - @@BITROCK_LO_PORT@@ - ${libreoffice_port} - - - @@BITROCK_LO_SERVICE_NAME@@ - ${LibreOfficeUniqueServiceName} - - - - - - - Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName} - ${libreoffice_directory}\scripts\serviceinstall.bat - INSTALL - - - - - - - - - - - - Installing LibreOffice as a Windows service with name ${LibreOfficeUniqueServiceName} - ${libreoffice_directory}\scripts\serviceinstall.bat - INSTALL STOP - - - - - - - - - sc - config ${LibreOfficeUniqueServiceName} start= ${libreofficeservice_startup} - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt b/installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt deleted file mode 100644 index 6344827fd7..0000000000 --- a/installer-resources/src/main/resources/bitrock/licenses/alfresco.trial.agreement-en.txt +++ /dev/null @@ -1,23 +0,0 @@ -ALFRESCO TRIAL AGREEMENT - -PLEASE READ THIS AGREEMENT CAREFULLY BEFORE PURCHASING AND/OR USING SOFTWARE OR SERVICES FROM ALFRESCO. BY USING ALFRESCO SOFTWARE OR SERVICES, COMPANY SIGNIFIES ITS ASSENT TO AND ACCEPTANCE OF THIS AGREEMENT AND ACKNOWLEDGES IT HAS READ AND UNDERSTANDS THIS AGREEMENT. AN INDIVIDUAL ACTING ON BEHALF OF AN ENTITY REPRESENTS THAT HE OR SHE HAS THE AUTHORITY TO ENTER INTO THIS AGREEMENT ON BEHALF OF THAT ENTITY. IF COMPANY DOES NOT ACCEPT THE TERMS OF THIS AGREEMENT, THEN IT MUST NOT USE ALFRESCO SOFTWARE OR SERVICES. - -This Alfresco Enterprise Trial Agreement (the "Agreement") is between Alfresco Software, Ltd. ("Alfresco") and the user ("Company") of Alfresco software and/or services who accepts the terms of this Agreement. - -1. Evaluation. The evaluation begins on the date Company accepts this Agreement and ends thirty (30) days later (the "Evaluation Period"). During the Evaluation Period, Alfresco grants to Company: (a) the right to a non-exclusive, non-transferable, non-sublicensable, license to use the Alfresco software ("Software") only for Company's evaluation use on non-production systems; and (b) the right to receive Services for the Software. Company will not, during the Evaluation Period or thereafter (i) use the Software with the Alfresco Community software, (ii) distribute the Software to any third party or publish the Software in any way such that a third party could access it; (iii) transfer, use or export the Software in violation of any laws or regulations of any government or governmental agency; or (iv) reverse engineer, decompile or modify any portion of the Software. Alfresco and its licensors will own all right, title, and interest to the Software, technology, information, code or software provided to Company, including all portions, copies or modifications thereof. - -2. Services. "Services" means access to Alfresco's network delivery mechanisms and the ability to log up to three (3) support cases. Company must designate one person as its technical support contact for receipt of Services. The technical support contact should have "read, write and execute" access to the necessary files, English language communication skills and relevant technical knowledge. Alfresco will provide and Company will use Services only for non-production systems authorized by this Agreement, and for Company's benefit only. Company will not use the Services for the Alfresco Community software. No support issues will be treated as Severity 1 under this Agreement and no specific service level agreement is provided. Alfresco may, at its discretion, decline to provide Services for Software that has been modified or changed by Company in any way, except as expressly directed by Alfresco. Unauthorized use of the Services is a material breach of this Agreement and will result in immediate termination of this Agreement. - -3. Confidentiality. Alfresco and Company mutually agree to use their best efforts to keep the Software and other proprietary information received from the other confidential. Such material must be specifically and clearly marked as being confidential or proprietary. This Section shall not apply to any publicly available or independently developed information. - -4. Limitation of Liability. FOR ALL EVENTS AND CIRCUMSTANCES, ALFRESCO AND ITS AFFILIATES' AGGREGATE AND CUMULATIVE LIABILITY ARISING OUT OF OR RELATING TO THIS AGREEMENT, INCLUDING WITHOUT LIMITATION ON ACCOUNT OF PERFORMANCE OR NON-PERFORMANCE OF OBLIGATIONS, REGARDLESS OF THE FORM OF THE CAUSE OF ACTION, WHETHER IN CONTRACT, TORT (INCLUDING WITHOUT LIMITATION NEGLIGENCE), STATUTE OR OTHERWISE WILL BE LIMITED TO DIRECT DAMAGES FOR NON-PRODUCTION USE USING UNMODIFIED CODE. - -5. Disclaimer of Damages. NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED IN THIS AGREEMENT, IN NO EVENT WILL ALFRESCO OR ITS AFFILIATES BE LIABLE TO COMPANY OR ITS AFFILIATES FOR DAMAGES OTHER THAN DIRECT DAMAGES, INCLUDING, WITHOUT LIMITATION, ANY INCIDENTAL, CONSEQUENTIAL, SPECIAL, INDIRECT, EXEMPLARY OR PUNITIVE DAMAGES, WHETHER ARISING IN TORT, CONTRACT, OR OTHERWISE; OR FOR ANY DAMAGES ARISING OUT OF OR IN CONNECTION WITH ANY MALFUNCTIONS, REGULATORY NON-COMPLIANCE, DELAYS, LOSS OF DATA, LOST PROFITS, LOST SAVINGS, INTERRUPTION OF SERVICE, LOSS OF BUSINESS OR ANTICIPATORY PROFITS, EVEN IF ALFRESCO OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -6. Warranty. THE SERVICES AND SOFTWARE ARE PROVIDED "AS IS" AND WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. ALFRESCO DOES NOT GUARANTEE OR WARRANT THAT THE USE OF THE SERVICES OR SOFTWARE WILL BE UNINTERRUPTED, COMPLY WITH REGULATORY REQUIREMENTS, OR BE ERROR FREE OR THAT ALFRESCO WILL CORRECT ALL SOFTWARE ERRORS. Company agrees that it is solely responsible for its use and evaluation of the Software and Services. - -7. Governing Law/Consent To Jurisdiction. New York law shall govern all aspects of this Agreement, without regard to its conflict-of-law principles. Any dispute arising from this Agreement shall be subject to the exclusive jurisdiction of state and federal courts located in New York, New York. The prevailing party in any such dispute shall recover its reasonable attorneys' fees and costs from the losing party, including any fees or costs arising from an appeal. - -8. Complete Agreement. This Agreement constitutes the exclusive terms and conditions with respect to the subject matter of this Agreement, notwithstanding any different or additional terms that may be contained in the form of purchase order or other document used by Company to place orders or otherwise effect transactions. This Agreement represents the final, complete and exclusive statement of the agreement between the parties with respect to subject matter of this Agreement and all prior written agreements and all prior and contemporaneous oral agreements with respect to the subject matter of this Agreement are merged therein. - -9. Survival. Any provision of this Agreement that may reasonably be expected to survive its termination, including but not limited to Sections 3-9, will survive the termination of this Agreement. \ No newline at end of file diff --git a/installer-resources/src/main/resources/bitrock/manager.xml b/installer-resources/src/main/resources/bitrock/manager.xml deleted file mode 100644 index 9bc3e1a35a..0000000000 --- a/installer-resources/src/main/resources/bitrock/manager.xml +++ /dev/null @@ -1,75 +0,0 @@ - - manager - //Graphical Manager - - 0 - 1 - 0 - - - //Binary - ${manager_installation_directory} - binary - linux linux-x64 osx windows - - - - - - - - Manager Tool - ${product_fullname} Manager Tool - 1 - ${installdir}/manager-windows.exe - ${installdir}/ - - - - - - Manager tool - ${product_fullname} Manager Tool - ${installdir}/manager-windows.exe - ${installdir}/ - - - - - - - - manager_installation_directory - 0 - - - - manager_distribution_folder - 0 - ${build_project_directory} - - - - - manager_installation_directory - ${installdir} - - - - - 700 - ${manager_installation_directory}/manager-${platform_name}.${platform_exec_suffix} - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/openssl.xml b/installer-resources/src/main/resources/bitrock/openssl.xml deleted file mode 100644 index f4b18a5a52..0000000000 --- a/installer-resources/src/main/resources/bitrock/openssl.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - openssl - //Open SSL Component - 0 - 0 - 1 - - - - - - - - - - - - - - - ${common_root_directory}/bin/openssl - ${common_root_directory}/openssl/openssl.cnf - - - - ${common_root_directory}/lib/libcurl.la - ${common_root_directory}/lib/pkgconfig/libcurl.pc - ${common_root_directory}/bin/curl-config - - - - ${CURL_COMMON_FILE_LIST} - ${common_root_directory}/bin/curl - - - - - - - - - - ##### CURL ENV ##### -CURL_CA_BUNDLE=${common_root_directory}/openssl/certs/curl-ca-bundle.crt -export CURL_CA_BUNDLE - - - - - - - - - - - - - ##### SSL ENV ##### -SSL_CERT_FILE=${common_root_directory}/openssl/certs/curl-ca-bundle.crt -export SSL_CERT_FILE -OPENSSL_CONF=${common_root_directory}/openssl/openssl.cnf -export OPENSSL_CONF -OPENSSL_ENGINES=${common_root_directory}/lib/engines -export OPENSSL_ENGINES - - - - - - - - - - - - rem ##### SSL ENV ##### -set OPENSSL_CONF=${apache_configuration_directory.dos}\openssl.cnf - - - - - - - - - - - - - ${php_configuration_directory}/php.ini - -;Curl ca bundle certificate -curl.cainfo="${common_root_directory}/openssl/certs/curl-ca-bundle.crt" - - - - - - - - - ${apache_configuration_directory.dos}\httpd.conf - SetEnv OPENSSL_CONF "${apache_configuration_directory}/openssl.cnf" -SetEnv PATH "${'${PATH}'};${apache_server_directory}/bin;" - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/pdfium.xml b/installer-resources/src/main/resources/bitrock/pdfium.xml deleted file mode 100644 index e5ca97a0c6..0000000000 --- a/installer-resources/src/main/resources/bitrock/pdfium.xml +++ /dev/null @@ -1,82 +0,0 @@ - - pdfium - Pdfium - 0 - 0 - 1 - - - - 0 - pdfium_root_directory - pdfiumt_root_directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##### PDFIUM ENV ##### -PDFIUM_ENV_VAR="${pdfium_root_directory}" -export PDFIUM_ENV_VAR - - - - - - - - rem ##### PDFIUM ENV ##### -set PDFIUM_ENV_VAR=${pdfium_root_directory} - - - - - - - ${PDFIUM_ENV_VAR}${ENV_VAR} - - - - - - alfresco-pdf-renderer - ${pdfium_root_directory} - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/postgres-properties.xml b/installer-resources/src/main/resources/bitrock/postgres-properties.xml deleted file mode 100644 index d8c31e120d..0000000000 --- a/installer-resources/src/main/resources/bitrock/postgres-properties.xml +++ /dev/null @@ -1,107 +0,0 @@ - - postgreswriteproperties - //Postgres Write Properties - 0 - 0 - 1 - - - - - - - - ${installdir}/properties.ini -
Postgres
- postgres_hostname - database_hostname -
- - ${installdir}/properties.ini -
Postgres
- postgres_port - database_port -
- - ${installdir}/properties.ini -
Postgres
- postgres_root_directory - database_root_directory -
- - ${installdir}/properties.ini -
Postgres
- postgres_binary_directory - database_binary_directory -
- - ${installdir}/properties.ini -
Postgres
- postgres_unique_service_name - postgres_unique_service_name - - - -
- - - - - - - - - - - -
- - - -
-
- - - - - ${installdir}/properties.ini -
Postgres
- postgres_hostname - ${postgres_hostname} -
- - ${installdir}/properties.ini -
Postgres
- postgres_port - ${postgres_port} -
- - ${installdir}/properties.ini -
Postgres
- postgres_root_directory - ${postgres_root_directory} -
- - ${installdir}/properties.ini -
Postgres
- postgres_binary_directory - ${postgres_binary_directory} -
- - ${installdir}/properties.ini -
Postgres
- postgres_unique_service_name - ${postgres_unique_service_name} - - - -
-
- - - - -
-
-
- diff --git a/installer-resources/src/main/resources/bitrock/postgres-service.xml b/installer-resources/src/main/resources/bitrock/postgres-service.xml deleted file mode 100644 index 1c74f91f2f..0000000000 --- a/installer-resources/src/main/resources/bitrock/postgres-service.xml +++ /dev/null @@ -1,101 +0,0 @@ - - postgresservice - //PostgreSQL Service - 1 - 1 - 0 - - - - - - - - - - - - - - - - - - ${postgres_service_name} - ${postgres_displayName} - postgres_unique_service_name - PostgreSQLUniqueDisplayName - - - - ${postgres_root_directory}/bin/registerservice.bat - @echo off -start /MIN /WAIT cmd /c "${postgres_root_directory.dos}\bin\pg_ctl.exe register -N "${postgres_unique_service_name}" -D ${postgres_data_directory.dos.unix}" - - - Installing PostgreSQL as a Windows service with name ${postgres_unique_service_name} - ${postgres_root_directory}/bin/registerservice.bat - - ${postgres_root_directory}/bin - - - - - - - - - - sc - config "${postgres_unique_service_name}" start= ${postgres_service_startup} - - - - - - - - ${postgres_root_directory}/scripts/servicerun.bat;${postgres_root_directory}/scripts/serviceinstall.bat - regexp - - - @@BITROCK_POSTGRESQL_SERVICE_NAME@@ - ${postgres_unique_service_name} - - - @@BITROCK_POSTGRESQL_DATADIR@@ - ${postgres_data_directory.dos.unix} - - - @@BITROCK_POSTGRESQL_ROOTDIR@@ - ${postgres_root_directory} - - - - - - - cmd - /C start /MIN /WAIT net start "${postgres_unique_service_name}" - - - - - - - - - - - - - ${postgres_root_directory}\scripts\serviceinstall.bat - REMOVE - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/postgres.xml b/installer-resources/src/main/resources/bitrock/postgres.xml deleted file mode 100644 index ae1bc343ff..0000000000 --- a/installer-resources/src/main/resources/bitrock/postgres.xml +++ /dev/null @@ -1,1155 +0,0 @@ - - - postgres - PostgreSQL - PostgreSQL is a powerful, open source, object-relational database system. - 1 - 1 - - - - - - postgres_installation_type - - - - - - - - - postgres_installation_type - - - - - - - - - postgres_installation_type - - - - - - - - - - - - - - - - - - postgres_installation_type_options - 0 - bundledAndExisting - bundledAndExisting - - - - postgres_root_directory - 0 - - ${installdir}/postgresql - - - - postgres_check_version - no - no - 0 - - - postgres_installation_type - Database Installation - Please select which database configuration you wish to use - 0 - - radiobuttons - - - - continue - Setup will attempt to install new databases and will overwrite any duplicates. Do you want you continue? - - - - - - - - - - - - - - - - - - - - initialize_postgres_database - 1 - 1 - 0 - - - - - postgres_binary_directory - PostgreSQL Binary Directory - Specify the directory where the psql, pg_restore, and vacuumdb binaries are located. - - ${postgres_root_directory}/bin - 0 - yes - 0 - 0 - 1 - or - 35 - - - - - - The path ${postgres_binary_directory} is not valid. Check if the directory contains the required binaries. - - - - - - - The path ${postgres_binary_directory} does not contain a pg_restore executable. - - - - - - - The path ${postgres_binary_directory} does not contain a pg_vacuumdb executable. - - - - - - - postgres_version - ${postgres_binary_directory}/psql - --version - - - Not a PostgreSQL version 9.4.4 installation. PostgreSQL 9.4.4 is recommended. - - - - - - - - - - - postgres_root_directory - HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\{${pgversionid}} - Base Directory - - - - - - - - - - - - - - - - - - - - - - - - postgres_serverconf - Database Server Parameters - - - postgres_hostname - IP / Hostname - Enter the IP address or hostname for your database. - - localhost - localhost - 1 - 0 - 0 - 20 - - - Enter a valid IP address or hostname. - - - - - - - - - postgres_port - Database Server Port: - Enter the port of your database. - 5432 - 5432 - 1 - 1 - 10 - - - You do not have the right permissions to bind to the port or the port is already taken by another application. Select another port. - - - - - - - - Couldn’t find a server running at port ${postgres_port}. Start your database server. - - - - - - - or - - - - - - - - - or - - - - - - - - - postgres_install_service - Install PostgreSQL as a service? - Do you want to install PostgreSQL as a Windows service? - 1 - 0 - - - You need to be an administrator. - - - - - - We support PostgreSQL as service only. - - - - - - - - - - - - - postgres_root_password - Enter your database 'postgres' user password. - PostgreSQL postgres user password - postgres_password - 0 - yes - Re-enter password - - - - 0 - 1 - - - - - - - - - - - - - - - 1 - ${postgres_binary_directory}/${postgres_client_binary} - -U postgres -p ${postgres_port} -h ${postgres_hostname} -c "\q" - - - - - - - - - 0 - Couldn’t connect to database. Check your configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##### POSTGRES ENV ##### - - - - - - - - rem ##### POSTGRES ENV ##### - - - - - - ${POSTGRES_ENV_VAR}${ENV_VAR} - - - - - - - - - 0 - 0 - sc - stop ${postgres_unique_service_name} - - - 0 - 0 - sc - delete ${postgres_unique_service_name} - - - - - - - - - - - - - - - - - - - - - - - - - - - Program Files - ${installdir}/postgresql - programfiles - all - - - ${postgres_distribution_folder}/* - - - - - - - - - - */bin/*;*/scripts/*;*/Readme.txt - - - @@BITROCK_POSTGRESQL_ROOTDIR@@ - ${postgres_root_directory} - - - @@BITROCK_POSTGRESQL_HOST@@ - ${postgres_hostname} - - - @@BITROCK_POSTGRESQL_PORT@@ - ${postgres_port} - - - @@BITROCK_POSTGRESQL_USER@@ - postgres - - - @@BITROCK_POSTGRESQL_DATADIR@@ - ${postgres_data_directory} - - - @@BITROCK_POSTGRESQL_LOGFILE@@ - ${postgres_root_directory}/postgresql.log - - - @@BITROCK_COMMON_ROOTDIR@@ - ${installdir}/common - - - - - - - - - */Readme.txt;*/scripts/* - - - @@BITROCK_POSTGRESQL_ROOTDIR@@ - ${postgres_root_directory} - - - @@BITROCK_POSTGRESQL_HOST@@ - ${postgres_hostname} - - - @@BITROCK_POSTGRESQL_PORT@@ - ${postgres_port} - - - @@BITROCK_POSTGRESQL_USER@@ - postgres - - - @@BITROCK_POSTGRESQL_DATADIR@@ - ${postgres_data_directory} - - - @@BITROCK_POSTGRESQL_LOGFILE@@ - ${postgres_root_directory}/postgresql.log - - - - - */share/conversion_create.sql - exact - - - $libdir - ${postgres_root_directory.unix}/lib - - - - - - - - - - - 0 - 0 - / - dscl - . -list /Users | grep postgres - usercreation_osx_user_exists - - - - - - - - - - / - dscl - . read /Users/postgres UserShell | awk '{print $NF}' - postgres_user_shell - - - / - dscl - . -change /Users/postgres UserShell ${postgres_user_shell} /bin/bash - - - - - - - - - - - - - - / - dscl - . -list /Users UniqueID | awk '{print $2}' | sort -n | tail -1 | awk '{print $1+1}' - usercreation_osx_user_id - - - / - dscl - . create /Users/postgres uid ${usercreation_osx_user_id} - - - / - dscl - . -create /Users/postgres UserShell /bin/bash - - - /usr/local/pgsql - - - / - dscl - . -create /Users/postgres NFSHomeDirectory /usr/local/pgsql - - - / - dscl - . create /Groups/postgres gid ${usercreation_osx_user_id} - - - / - dscl - . merge /Groups/postgres users "postgres" - # OS X 10.8 requies a primary group to be defined - - - - / - dscl - . -create /Users/postgres PrimaryGroupID ${usercreation_osx_user_id} - - - - - - - - - - - - - - - - - - postgres - 0 - 0 - - - exact - /etc/shadow - - - postgres:!: - postgres:*: - - - - - - - - - - - - - - - ${postgres_root_directory};${postgres_root_directory}/*;${postgres_root_directory}/*/*;${postgres_data_directory};${postgres_data_directory}/*;${postgres_root_directory}/*/* - postgres - 0 - 0 - - - - - - - - - - - 0 - 0 - chmod - 755 ${postgres_root_directory}/bin/* - - - postgres - ${postgres_root_directory}/bin/initdb - -E UTF8 -U postgres - - - - - - ${postgres_root_directory}/bin/initdb - -E UTF8 -U postgres - - - - - - ${component(postgres).parameter(shmmax_error_message).value} - - - - - - - - ${program_stderr} - - - - - - ${postgres_data_directory}/postgresql.conf - - - - #listen_addresses = 'localhost' - listen_addresses = 'localhost, ${postgres_hostname}' - - - - - - - #unix_socket_directory = '' - unix_socket_directory = '${postgres_root_directory}' - - - - - #log_min_messages = warning - log_min_messages = ${postgres_logminmessage_level} - - - - - - #log_min_error_statement = error - log_min_error_statement = ${postgres_logminerrorstatement_level} - - - - - - #silent_mode = off - silent_mode = on - - - - - - max_connections\s*=\s*[0-9]+ - max_connections = ${postgres_max_connections} - - - - - - - - ${postgres_data_directory}/pg_hba.conf - host all all ${postgres_hostname} 255.255.255.255 trust - - - - - - ${postgres_data_directory}/postgresql.conf - #--------------------------------------------------------------------------- - #Other configuration parameters are set on ${postgres_root_directory}/bin/setenv.sh - #--------------------------------------------------------------------------- - - - - - postgres - ${postgres_root_directory}/bin/pg_ctl - start - - - - - - ${postgres_root_directory}/bin/pg_ctl - start - - - - - - sleep - 10 - Waiting for Postmaster - - - - - postgres - ${postgres_root_directory}/bin/psql - -U postgres -c "ALTER USER postgres PASSWORD '\''${postgres_root_password.password}'\''" - - - - - - ${postgres_root_directory}/bin/psql - -U postgres -c "ALTER USER postgres PASSWORD '${postgres_root_password.password}'" - - - - - - postgres - ${postgres_root_directory}/bin/pg_ctl - stop - - - - - - ${postgres_root_directory}/bin/pg_ctl - stop - - - - - - ${postgres_data_directory}/pg_hba.conf - - - trust$ - md5 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - ${env(USERNAME)} - ${postgres_data_directory} - postgres_grantedPermissions - postgres_deniedPermissions - - - - - - cacls - "${postgres_data_directory}" /e /c /t /p ${env(USERNAME)}:c - ${postgres_data_directory} - - - cacls "${postgres_data_directory}" /e /c /t /p ${env(USERNAME)}:c" - - - 0 - 0 - ${env(USERNAME)} - ${postgres_data_directory} - postgres_grantedPermissions - postgres_deniedPermissions - - - - - - 0 - 0 - ${postgres_data_directory} - ${env(USERNAME)} - 1 - 1 - - - - - - - - - ${postgres_root_directory}/bin - vcredist_x64.exe - /q - 0 - - - - - - - - initdb.exe - -U SYSTEM -E UTF8 -D "${postgres_data_directory.dos.unix}" - ${postgres_root_directory}/bin - - - - - - initdb.exe - -U postgres -E UTF8 -D "${postgres_data_directory.dos.unix}" - ${postgres_root_directory}/bin - - - - - - - - - - - - - - - ${postgres_data_directory}/postgresql.conf - - - - #listen_addresses = 'localhost' - listen_addresses = 'localhost, ${postgres_hostname}' - - - - - - #port = 5432 - port = ${postgres_port} - - - #log_destination - log_destination - - - #logging_collector = off - logging_collector = on - - - #log_directory - log_directory - - - #log_filename - log_filename - - - #log_min_messages = warning - log_min_messages = ${postgres_logminmessage_level} - - - - - - #log_min_error_statement = error - log_min_error_statement = ${postgres_logminerrorstatement_level} - - - - - - max_connections\s*=\s*[0-9]+ - max_connections = ${postgres_max_connections} - - - - - - - - ${postgres_data_directory}/pg_hba.conf - host all all ${postgres_hostname} 255.255.255.255 trust - - - - - - - - - - - - - ${postgres_service_name} - ${postgres_displayName} - postgres_unique_service_name - PostgreSQLUniqueDisplayName - - - ${postgres_root_directory}/bin/registerservice.bat - @echo off -"${postgres_root_directory.dos}\bin\pg_ctl.exe" register -N ${postgres_unique_service_name} -D "${postgres_data_directory.dos.unix}" -w - - - ${postgres_root_directory}/bin/registerservice.bat - - ${postgres_root_directory}/bin - - - - - - - - - - cmd - /C start /MIN /WAIT net start ${postgres_unique_service_name} - - - - - - - - - pg_ctl.exe - -U postgres -w start -D "${postgres_data_directory.dos.unix}" - ${postgres_root_directory}/bin - - - - - - - - - - - - - - - - - - - - ${postgres_root_directory}/bin/psql.exe - -U SYSTEM -d postgres -p ${postgres_port} -h ${postgres_hostname} -c "CREATE USER postgres SUPERUSER PASSWORD '${postgres_root_password.password}'" - - - - - - - ${postgres_root_directory}/bin/psql.exe - -U postgres -p ${postgres_port} -h ${postgres_hostname} -c "ALTER USER postgres PASSWORD '${postgres_root_password.password}'" - - - - - - - cmd - /C start /MIN /WAIT net stop ${postgres_unique_service_name} - - - - - - - ${postgres_root_directory}/bin/pg_ctl.exe - stop - - - - - - - ${postgres_data_directory}/pg_hba.conf - - - trust$ - md5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/postgres_initdb.xml b/installer-resources/src/main/resources/bitrock/postgres_initdb.xml deleted file mode 100644 index 098c4b0a91..0000000000 --- a/installer-resources/src/main/resources/bitrock/postgres_initdb.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - postgresinitdb - //PostgreSQL_initdb - 1 - 1 - 0 - - - - - - Database Configuration - database_name - Specify the name of the database. - Database name - 0 - - bn_lappstack - - - database_user - Database Configuration - Set the database user. - User - 0 - - - - database_user_password - Database Configuration - Specify the password for the database user. - Password - Re-enter password - 0 - - - - database_encoding - - 0 - - UTF-8 - - - postgres_create_super_user - 0 - 1 - - - - - - - - - Creating user and database - su - postgres -s /bin/sh -c "\"${postgres_root_directory}/bin/pg_ctl\" start" - - - - - - ${postgres_root_directory}/bin/pg_ctl - start - - - - - - 3000 - - - - - unix - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/project.xml b/installer-resources/src/main/resources/bitrock/project.xml deleted file mode 100644 index e9d0b27ca0..0000000000 --- a/installer-resources/src/main/resources/bitrock/project.xml +++ /dev/null @@ -1,631 +0,0 @@ - - Alfresco Software, Inc. - zip - Alfresco Community Edition - - alfresco - 4.2.e-0 - ${product_shortname}-community-withpostgresql-${product_version}-${platform_name}-installer.${platform_exec_suffix} - - 1 - images/alfresco_top_right.png - images/splash.png - 1 - ${installdir}/alfresco.ico - images/alfresco.ico - images/alfresco.icns - images/alfresco.png - com.alfresco.macinstaller - en - 755 - 644 - 1 - images/alfresco_left.png - en fr es it de ja nl ru zh_CN no pt_BR - 0 - ${project.installerFilename} - ${project.fullName} Installer - - - http://timestamp.digicert.com - - - 1 - - - - osx - 430 - 600 - - - linux-x64 - 430 - 800 - - - windows - 430 - 600 - - - - - - en - utf-8 - ${build_project_directory}/lang/alf-en.po - - - fr - utf-8 - ${build_project_directory}/lang/alf-fr.po - - - es - utf-8 - ${build_project_directory}/lang/alf-es.po - - - de - utf-8 - ${build_project_directory}/lang/alf-de.po - - - it - utf-8 - ${build_project_directory}/lang/alf-it.po - - - ja - utf-8 - ${build_project_directory}/lang/alf-ja.po - - - nl - utf-8 - ${build_project_directory}/lang/alf-nl.po - - - ru - utf-8 - ${build_project_directory}/lang/alf-ru.po - - - zh_CN - utf-8 - ${build_project_directory}/lang/alf-zh_CN.po - - - no - utf-8 - ${build_project_directory}/lang/alf-nb_NO.po - - - pt_BR - utf-8 - ${build_project_directory}/lang/alf-pt_BR.po - - - - - - - - - - - - - - - - - - - - - - - - - dummy - 1 - 0 - 0 - - - dummy - ${installdir} - - - - - 0 - 0 - ${installdir}/common/share/terminfo.zip - ${installdir}/common/share/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - sc - config ${tomcat_unique_service_name} depend= "${postgres_unique_service_name}" - - - - - - Stopping PostgreSQL... - ${installdir}/${ctlscript_unix} - stop postgresql - - - - - - - Stopping PostgreSQL... - ${postgres_root_directory.dos}\scripts\servicerun.bat - STOP - - - - - - - - - - - - - - - - ${installdir}/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml - exact - - - http://localhost:${application_server_port}/alfresco - ${project.component(alfresco).parameter(repository_url_port).value} - - - - - - - - - - ${installdir}/tomcat/shared/classes/alfresco-global.properties - exact - - - solr.host=localhost - solr.host=${project.component(alfresco).parameter(remote_solr_configuration).parameter(solr_host).value} - - - solr.port.ssl=@@BITROCK_SOLR_SSL_PORT@@ - solr.port.ssl=${project.component(alfresco).parameter(remote_solr_configuration).parameter(solr_ssl_port).value} - - - - - - - - - - - - - - - - - - - - - - - - - - ${installdir}/tomcat/shared/classes/alfresco-global.properties - exact - - - solr.port.ssl=@@BITROCK_SOLR_SSL_PORT@@ - solr.port.ssl=${application_server_ssl_port} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Launch ${product_fullname} - - - - - - - Starting servers... - ${installdir}/${ctlscript_unix} - start & - - - - - - Starting servers... - ${installdir}/servicerun.bat - START - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://${application_server_domain}:${application_server_port}/share - - - - - - - http://${application_server_domain}:${application_server_port}/alfresco - - - - - - - - - - - - - - - - - http://www.alfresco.com/resources/documentation/getting-started/${alfresco_edition} - - - - - - - - - You have chosen Tomcat as the existing installation. Restart Tomcat to use any newly installed applications. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Stopping servers - ${installdir}/${ctlscript_unix} - stop > /dev/null 2> /dev/null - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - Stopping services - ${installdir}/postgresql/scripts/servicerun.bat - STOP - - - - - - Uninstalling services - ${installdir}/serviceinstall.bat - REMOVE - - - - - - - - 0 - ${installdir}/apps/${product_shortname} - - - 0 - - - ${installdir}/tomcat/bin/setenv.sh - - - ${installdir}/tomcat - - - - - - - - 0 - - - ${installdir}/postgresql/tmp - - - ${installdir}/postgresql/data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/serviceinstall.bat b/installer-resources/src/main/resources/bitrock/serviceinstall.bat deleted file mode 100644 index 7d532154b9..0000000000 --- a/installer-resources/src/main/resources/bitrock/serviceinstall.bat +++ /dev/null @@ -1,48 +0,0 @@ -@echo off -rem -- Check if argument is INSTALL or REMOVE - -if not ""%1"" == ""INSTALL"" goto remove - -if exist @@BITROCK_INSTALLDIR@@\mysql\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mysql\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\postgresql\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\postgresql\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\logstash\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\apache2\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\apache2\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\tomcat\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\tomcat\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\resin\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\resin\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\jboss\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\jboss\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\wildfly\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\wildfly\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\activemq\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\activemq\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\openoffice\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\openoffice\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\subversion\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\subversion\scripts\serviceinstall.bat INSTALL) -rem RUBY_APPLICATION_INSTALL -if exist @@BITROCK_INSTALLDIR@@\mongodb\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mongodb\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\lucene\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\lucene\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\third_application\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\third_application\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\nginx\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\nginx\scripts\serviceinstall.bat INSTALL) -if exist @@BITROCK_INSTALLDIR@@\php\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\php\scripts\serviceinstall.bat INSTALL) -goto end - -:remove - -if exist @@BITROCK_INSTALLDIR@@\third_application\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\third_application\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\lucene\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\lucene\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\mongodb\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mongodb\scripts\serviceinstall.bat) -rem RUBY_APPLICATION_REMOVE -if exist @@BITROCK_INSTALLDIR@@\subversion\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\subversion\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\openoffice\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\openoffice\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\jboss\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\jboss\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\wildfly\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\wildfly\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\resin\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\resin\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\activemq\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\activemq\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\tomcat\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\tomcat\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\apache2\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\apache2\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\logstash\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\postgresql\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\postgresql\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\mysql\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mysql\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\php\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\php\scripts\serviceinstall.bat) -if exist @@BITROCK_INSTALLDIR@@\nginx\scripts\serviceinstall.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\nginx\scripts\serviceinstall.bat) -:end diff --git a/installer-resources/src/main/resources/bitrock/servicerun.bat b/installer-resources/src/main/resources/bitrock/servicerun.bat deleted file mode 100644 index 82ee111c57..0000000000 --- a/installer-resources/src/main/resources/bitrock/servicerun.bat +++ /dev/null @@ -1,53 +0,0 @@ -@echo off -rem START or STOP Services -rem ---------------------------------- -rem Check if argument is STOP or START - -if not ""%1"" == ""START"" goto stop - -if exist @@BITROCK_INSTALLDIR@@\hypersonic\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\server\hsql-sample-database\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\ingres\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\ingres\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\mysql\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mysql\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\postgresql\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\postgresql\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\logstash\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\apache2\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\apache2\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\openoffice\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\openoffice\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\resin\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\resin\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\activemq\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\activemq\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\jboss\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\jboss\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\wildfly\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\wildfly\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\jetty\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\jetty\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\subversion\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\subversion\scripts\servicerun.bat START) -rem RUBY_APPLICATION_START -if exist @@BITROCK_INSTALLDIR@@\lucene\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\lucene\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\mongodb\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mongodb\scripts\servicerun.bat START) -if exist @@BITROCK_INSTALLDIR@@\third_application\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\third_application\scripts\servicerun.bat START) -goto end - -:stop -echo "Stopping services ..." -if exist @@BITROCK_INSTALLDIR@@\third_application\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\third_application\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\lucene\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\lucene\scripts\servicerun.bat STOP) -rem RUBY_APPLICATION_STOP -if exist @@BITROCK_INSTALLDIR@@\subversion\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\subversion\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\jetty\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\jetty\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\hypersonic\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\server\hsql-sample-database\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\jboss\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\jboss\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\wildfly\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\wildfly\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\resin\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\resin\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\activemq\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\activemq\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\tomcat\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\openoffice\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\openoffice\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\apache2\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\apache2\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash-forwarder\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\logstash\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\logstash\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\elasticsearch\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\ingres\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\ingres\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\mysql\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mysql\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\mongodb\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\mongodb\scripts\servicerun.bat STOP) -if exist @@BITROCK_INSTALLDIR@@\postgresql\scripts\servicerun.bat (start /MIN /WAIT cmd /C @@BITROCK_INSTALLDIR@@\postgresql\scripts\servicerun.bat STOP) - -:end diff --git a/installer-resources/src/main/resources/bitrock/tomcat-functions.xml b/installer-resources/src/main/resources/bitrock/tomcat-functions.xml deleted file mode 100644 index 0496a19bd9..0000000000 --- a/installer-resources/src/main/resources/bitrock/tomcat-functions.xml +++ /dev/null @@ -1,719 +0,0 @@ - - tomcatfunctions - //Tomcat Functions - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - //Service[@name="Catalina"]/Engine[@name="Catalina"]/Host[@name="localhost"] - startStopThreads - ${tomcatRootDirectory}/conf/server.xml - ${value} - - - - - - - - - - - - - - - - - - ${tomcatUserConfigurationFile} - - - <tomcat-users> - <tomcat-users> -<role rolename="${tomcatUserRole}"/> - - - - - - </tomcat-users> - <user username="${tomcatUserName}" password="${tomcatUserPassword}" roles="${tomcatUserRole}"/> -</tomcat-users> - - - - - - - - - - - - - - - or - - - - - - - - - - - - - - - - - - - - - - - - - - ${tomcatPath} - - - pathToCatalina - find - ${tomcatHomePath}*/lib/ -name catalina.jar - 0 - 0 - - - - - - - - ${pathToCatalina} - - - tomcatFolderName - ${path} - .*/(.*)/lib/catalina.jar - \1 - - - - - - - - - ${tomcatVersionId}_version - ${tomcatFolderName} - tomcat(\d*) - \1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${installdir}/properties.ini -
Tomcat
- tomcat_server_port - ${tomcatServerPort} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_server_ssl_port - ${tomcatSSLPort} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_server_shutdown_port - ${tomcatShutdownPort} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_server_ajp_port - ${tomcatAJPport} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_root_directory - ${tomcatRootDirectory} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_domainname - ${tomcatDomain} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_configuration_directory - ${tomcatConfDirectory} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_unique_service_name - ${tomcatUniqueServiceName} - - - -
- - - - ${installdir}/properties.ini -
Tomcat
- tomcat_user - ${tomcatUser} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_group - ${tomcatGroup} -
-
- - - -
-
-
- - - - - - - - - - - - - - - - - - ${installdir}/properties.ini -
Tomcat
- tomcat_server_port - ${tomcatServerPort} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_server_ssl_port - ${tomcatSSLPort} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_server_shutdown_port - ${tomcatShutdownPort} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_server_ajp_port - ${tomcatAJPPort} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_root_directory - ${tomcatRootDirectory} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_domainname - ${tomcatDomain} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_configuration_directory - ${tomcatConfDirectory} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_unique_service_name - ${tomcatUniqueServiceName} - - - -
- - - - ${installdir}/properties.ini -
Tomcat
- tomcat_group - ${tomcatGroup} -
- - ${installdir}/properties.ini -
Tomcat
- tomcat_user - ${tomcatUser} -
- - - - - - - - - - - - - - - - -
- - - -
- - - - - - -
-
- - - - - - - - - - - ${installdir}/ctlscript.sh - status tomcat - tomcatStatus - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${installdir}/ctlscript.sh - start tomcat - - - - - - 0 - 0 - cmd.exe - /C start /MIN "" "${installdir}/apache-tomcat/scripts/servicerun.bat" START & - - - - - - - - - - - - - - ${installdir}/ctlscript.sh - stop tomcat - - - - - - 0 - 0 - cmd.exe - /C start /MIN "" "${installdir}/apache-tomcat/scripts/servicerun.bat" STOP & - - - - - - - - - - - - - - ${installdir}/ctlscript.sh - restart tomcat - - - - - - - - - 0 - 0 - cmd.exe - /C start /MIN "" "${installdir}/apache-tomcat/scripts/servicerun.bat" STOP - - - 0 - 0 - cmd.exe - /C start /MIN "" "${installdir}/apache-tomcat/scripts/servicerun.bat" START & - - - - - - - - or - - - - and - - - - - - - - - - - - - - - - - - - - - - - - ${installdir}/apache-tomcat/logs/getdate.bat - @echo off -set datetimef=%date:~-4%-%date:~-10,2%-%date:~-7,2% -echo %datetimef% > date.txt - - - - ${installdir}/apache-tomcat/logs/getdate.bat - - - - - - - - - - files - ${installdir.unix}/apache-tomcat/logs/catalina.${date}.log - - - - - - - - - - - - files - ${installdir}/apache-tomcat/logs/catalina-daemon.out - - - - - - - - - - files - ${installdir}/apache-tomcat/logs/catalina.out - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${log_file} - matches - ${finishPattern} - - - - - ${log_file} - - - - ${log_file} - matches - ${pattern} - - - - - - ${time}+${timeInterval} - time - - - - - - ${log_file} - does_not_match - ${text} - - - - - There was an error while installing the application: the deployment took more than ${timeout} ms. - - - ${log_file} - does_not_match - ${text} - - - - - - - -
-
diff --git a/installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml b/installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml deleted file mode 100644 index 3839cd3741..0000000000 --- a/installer-resources/src/main/resources/bitrock/tomcat-imagemagick.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - tomcatimagemagick - //Tomcat settings for ImageMagick - //Makes Apache Tomcat able to install use ImageMagick functions. - 1 - 0 - 1 - - - ${application_server_directory}/bin/setenv.bat - rem ##### IMAGEMAGICK ENV ##### -set JAVA_OPTS=%JAVA_OPTS% --Environment "PATH='${PATH_WIN}'#MAGICK_HOME=${imagemagick_root_directory.dos}#MAGICK_CODER_MODULE_PATH=${imagemagick_root_directory.dos}\modules\coders#MAGICK_CONFIGURE_PATH=${imagemagick_root_directory.dos}#" - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/tomcat-java.xml b/installer-resources/src/main/resources/bitrock/tomcat-java.xml deleted file mode 100755 index f092d01aef..0000000000 --- a/installer-resources/src/main/resources/bitrock/tomcat-java.xml +++ /dev/null @@ -1,21 +0,0 @@ - - tomcatjava - //Tomcat modifications due to java - 1 - 0 - 1 - - - - exact - ${application_server_directory}/scripts/ctl.sh;${application_server_directory}/scripts/servicerun.bat;${application_server_directory}/scripts/serviceinstall.bat - - - @@BITROCK_JAVA_ROOTDIR@@ - ${java_home_directory.dos} - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/tomcat-properties.xml b/installer-resources/src/main/resources/bitrock/tomcat-properties.xml deleted file mode 100644 index 3fb4e30e5e..0000000000 --- a/installer-resources/src/main/resources/bitrock/tomcat-properties.xml +++ /dev/null @@ -1,20 +0,0 @@ - - tomcatwriteproperties - //Tomcat Write Properties - 0 - 0 - 1 - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/tomcat-service.xml b/installer-resources/src/main/resources/bitrock/tomcat-service.xml deleted file mode 100644 index d2ac466a9c..0000000000 --- a/installer-resources/src/main/resources/bitrock/tomcat-service.xml +++ /dev/null @@ -1,207 +0,0 @@ - - tomcatservice - //Start tomcat service - 1 - 0 - 1 - - - - tomcatservice_waittostart - 0 - 1 - 1 - 0 - - - - tomcatservice_username - 0 - - - 0 - - - - tomcatservice_password - 0 - - - 0 - - - - - tomcatservice_service_name - - - - ${product_shortname}Tomcat - 0 - - - tomcatservice_service_display_name - - - - ${product_shortname} Tomcat Service - 0 - - - - tomcatservice_startup - 0 - auto - auto - 0 - - - tomcatservice_notstart - 0 - 0 - 0 - 0 - - - - - ${tomcatservice_service_name} - ${tomcatservice_service_display_name} - tomcat_unique_service_name - TomcatUniqueDisplayName - - - - - - - - - - ${application_server_directory}/scripts/serviceinstall.bat;${application_server_directory}/scripts/servicerun.bat - - - @@BITROCK_TOMCAT_SERVICE_NAME@@ - ${tomcat_unique_service_name} - - - - - - - - ${application_server_directory}/bin/service.bat - exact - - - if not exist "%JAVA_HOME%\jre\bin\java.exe" goto noJavaHome - rem if not exist "%JAVA_HOME%\jre\bin\java.exe" goto noJavaHome - - - if not exist "%JAVA_HOME%\jre\bin\javaw.exe" goto noJavaHome - rem if not exist "%JAVA_HOME%\jre\bin\javaw.exe" goto noJavaHome - - - if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome - rem if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome - - - PR_JVM=%JAVA_HOME%\jre\bin\ - PR_JVM=%JAVA_HOME%\bin\ - - - - - - - - - - - - - - - Installing Tomcat as a Windows service with name ${tomcat_unique_service_name} - ${application_server_directory.dos}\scripts\serviceinstall.bat - INSTALL - - - - - - - - Installing Tomcat as a Windows service with name ${tomcat_unique_service_name} - ${application_server_directory.dos}\scripts\serviceinstall.bat - INSTALL STOP - - - - - - - - - Installing Tomcat as a Windows service with name ${tomcat_unique_service_name} - ${application_server_directory.dos}\scripts\serviceinstall.bat - INSTALL ${tomcatservice_username} ${tomcatservice_password} - - - - - - - - - Installing Tomcat as a Windows service with name ${tomcat_unique_service_name} - ${application_server_directory.dos}\scripts\serviceinstall.bat - INSTALL STOP ${tomcatservice_username} ${tomcatservice_password} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sc - config ${tomcat_unique_service_name} start= ${tomcatservice_startup} - - - - - - - - - ${application_server_directory}/bin/tomcat?w.exe - ${application_server_directory}/bin/${tomcat_unique_service_name}w.exe - - - - - - - diff --git a/installer-resources/src/main/resources/bitrock/tomcat.xml b/installer-resources/src/main/resources/bitrock/tomcat.xml deleted file mode 100644 index 3e5c607ecc..0000000000 --- a/installer-resources/src/main/resources/bitrock/tomcat.xml +++ /dev/null @@ -1,687 +0,0 @@ - - - - - tomcat - //Tomcat Component - 1 - 0 - 1 - - - tomcat_installation_type_options - 0 - bundledAndExisting - bundledAndExisting - - - - - - - - - - - - - - - - - tomcat_memory_settings_windows - --JvmMs 256 --JvmMx 512 ++JvmOptions="-XX:MaxPermSize=256M" - 0 - - - - tomcat_extra_opts_windows - ++JvmOptions="-Djava.awt.headless=true" ++JvmOptions="-XX:+UseG1GC" ++JvmOptions="-Dfile.encoding=UTF-8" - 0 - - - - - - - - - - - - - - - - - - - tomcat_installation_type - Select a Tomcat configuration - - Tomcat Installation: - - radiobuttons - - - tomcat_installation_type - - - tomcat_installation_type - - - - - - - - - tomcat_installation_type - - - - - - - - - tomcat_installation_type - - - - - - - - - - - - - - - - tomcat_server_directory - Tomcat Directory - Tomcat Directory: - - Specify the directory where Tomcat is located. - 0 - yes - 0 - Directory where Tomcat webapps and conf directories are located. Only for installations on top of existing Tomcat. - ${installdir}/${tomcat_dirname} - yes - 1 - 40 - - - The directory you selected is not a valid Tomcat directory. Choose another directory. - - - - - - - - - - - - - - - tomcat_instance_directory - HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat\5.5 - InstallPath - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tomcat_home_directory - ${tomcat_server_directory} - Location of bin and lib tomcat folders - 0 - Directory where Tomcat lib and bin directories are located. Only valid for installations on top of existing Tomcat. - yes - - - The directory you selected is not a valid Tomcat directory. Choose another directory. - or - - - - - - - - - - - - - - - tomcat_ports - Tomcat Port Configuration - Enter your Tomcat configuration parameters. - - - tomcat_server_domain - Web Server - Web Server Domain: - - 127.0.0.1 - 1 - 1 - - 40 - - - Enter a valid IP address or hostname. - and - - - - - - - - - tomcat_server_port - 8080 - - 1 - Tomcat Server Port: - - - - - - tomcat_server_shutdown_port - 8005 - - 1 - Tomcat Shutdown Port: - - - Use numbers only in the port configuration fields. Other characters are not permitted. - - - - - - Couldn’t bind to the given port number. Select another Tomcat Shutdown Port. - - - - - - Tomcat Server Port and Tomcat Shutdown Port cannot be the same port. Select another Tomcat Shutdown Port." - - - - - - - - - - - tomcat_server_ssl_port - 8443 - - 1 - Tomcat SSL Port: - - - Use numbers only in the port configuration fields. Other characters are not permitted. - - - - - - Couldn’t bind to the given port number. Select another Tomcat SSL Port. - - - - - - - - - - - tomcat_server_ajp_port - 8009 - - 1 - Tomcat AJP Port: - - - Use numbers only in the port configuration fields. Other characters are not permitted. - - - - - - Couldn’t bind to the given port number. Select another Tomcat AJP Port. - - - - - - - - - - - tomcat_server_jmx_port - 1099 - - 0 - Tomcat JMX Port: - - - Use numbers only in the port configuration fields. Other characters are not permitted. - - - - - - Couldn’t bind to the given port number. Select another Tomcat JMX Port. - - - - - - - - - - - or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tomcat_user - tomcat_group - ${tomcat_server_directory}/webapps - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tomcat - ${tomcat_server_directory} - //Program Files - all - - - - - - - - - - - - */scripts/ctl.sh - - - @@BITROCK_TOMCAT_ROOTDIR@@ - ${application_server_directory} - - - - - */scripts/servicerun.bat;*/scripts/serviceinstall.bat - - - @@BITROCK_TOMCAT_ROOTDIR@@ - ${application_server_directory.dos} - - - - - - exact - ${application_server_directory}/conf/server.xml;${application_server_directory}/conf/tomcat.conf - - - @@BITROCK_TOMCAT_PORT@@ - ${tomcat_server_port} - - - @@BITROCK_TOMCAT_SSL_PORT@@ - ${tomcat_server_ssl_port} - - - @@BITROCK_TOMCAT_SHUTDOWN_PORT@@ - ${tomcat_server_shutdown_port} - - - @@BITROCK_TOMCAT_AJP_PORT@@ - ${tomcat_server_ajp_port} - - - - - - - ${application_server_directory}/bin/setenv.sh - # Load Tomcat Native Library -LD_LIBRARY_PATH=${installdir}/common/lib:$LD_LIBRARY_PATH - -JAVA_HOME=${java_home_directory} -JRE_HOME=$JAVA_HOME -JAVA_OPTS="${tomcat_extra_opts_unix} $JAVA_OPTS " -JAVA_OPTS="${tomcat_memory_settings_unix} $JAVA_OPTS " # java-memory-settings -export JAVA_HOME -export JRE_HOME -export JAVA_OPTS -export LD_LIBRARY_PATH - - - - - - - - - ${application_server_directory}/bin/setenv.bat - set JAVA_HOME=${java_home_directory.dos} -set JRE_HOME=%JAVA_HOME% -set JAVA_OPTS=${tomcat_extra_opts_windows} ${tomcat_memory_settings_windows} - - - - - - - - ${application_server_directory}/bin/setenv.bat - set JAVA_HOME=${java_home_directory.dos} -set JRE_HOME=%JAVA_HOME%\jre -set JAVA_OPTS=${tomcat_extra_opts_windows} ${tomcat_memory_settings_windows} - - - - - - - - - ${application_server_directory}/bin/setenv.sh - export JAVA_HOME=${java_home_directory} -export JRE_HOME=$JAVA_HOME -JAVA_OPTS="${tomcat_extra_opts_unix} $JAVA_OPTS " -JAVA_OPTS="${tomcat_memory_settings_unix} $JAVA_OPTS " -export JAVA_OPTS - - - - - - - - - - - - - ${application_server_directory}/bin/service.bat - exact - - - --JvmOptions - --StartPath "${installdir}" --Startup auto --JvmOptions - - - --JvmMx 256 - - - - --JvmMs 128 ^ - - - - --JvmMs 128 - - - - StopMode jvm - StopMode jvm %JAVA_OPTS% - - - - set PR_DISPLAYNAME=Apache Tomcat %2 - set PR_DISPLAYNAME=${product_fullname} %2 - - - - set PR_DISPLAYNAME=Apache Tomcat %1 - set PR_DISPLAYNAME=%1 - - - - - ${application_server_directory}/bin/service.bat - regexp - - - - set DISPLAYNAME=Apache Tomcat[^%]+%1 - set DISPLAYNAME=%1 - - - - - ${application_server_directory}/bin/service.bat - exact - - - -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager; - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - net - stop ${tomcat_unique_service_name} - - - 0 - 0 - sc - delete ${tomcat_unique_service_name} - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/build-installers.xml b/installer-resources/src/main/resources/build-installers.xml deleted file mode 100644 index 6af1799bc1..0000000000 --- a/installer-resources/src/main/resources/build-installers.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/installer-resources/src/main/resources/extract-binaries.xml b/installer-resources/src/main/resources/extract-binaries.xml deleted file mode 100644 index 22eddb7f0c..0000000000 --- a/installer-resources/src/main/resources/extract-binaries.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracting binaries for @{targetPlatform} - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracting Common... - - - - - - Extracting Tomcat... - - - - - - - - Extracting Java... - - - - - - Extracting Manager... - - - - - - - - - - - - Extracting binaries for @{targetPlatform} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extracting PostgreSQL... - - - - - - Extracting LibreOffice... - - - - - - Extracting ImageMagick... - - - - - - - Extracting Alfresco Pdf Renderer... - - - - - - - - - - Check running platform for Installbuilder... - - - - - - - - - - - - - - - - Extracting Installbuilder... - - - - - - - - diff --git a/installer/pom.xml b/installer/pom.xml deleted file mode 100644 index 729548b4d3..0000000000 --- a/installer/pom.xml +++ /dev/null @@ -1,367 +0,0 @@ - - 4.0.0 - - org.alfresco - full-community-packaging - 6.0.4-SNAPSHOT - ../pom.xml - - alfresco-content-services-community-full-installer - pom - Alfresco Content Services Community Full Installers - - - ${user.home}/binaries - ${project.build.directory}/installbuilder - alfresco-content-services-community-full - - project.version=${installer.version.name} project.fullName='Alfresco Content Services Community' project.windowsSigningPkcs12File=${signing.key.location} project.windowsSigningPkcs12Password=${p12Password} alfresco_edition=community alfresco_package='${alfresco.package.name}' project.outputDirectory=${project.build.directory} - - - - - org.alfresco - alfresco-installer-resources - ${project.version} - - - org.alfresco - alfresco-content-services-community-full-distribution - ${project.version} - zip - - - org.alfresco - alfresco-solr1-distribution - zip - - - org.alfresco - alfresco-wcmqs-distribution - zip - - - org.alfresco - alfresco-wcmqs-web - classes - - - org.alfresco - alfresco-wcmqs-client-api - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - zip - - - org.alfresco.integrations - alfresco-googledocs-repo - amp - - - org.alfresco.integrations - alfresco-googledocs-share - amp - - - - - - - org.alfresco - installer-common - linux - tgz - - - - - org.apache.tomcat - tomcat - linux - tgz - - - org.apache.tomcat - tomcat - win64 - tgz - - - - - org.postgresql - postgresql-distribution - linux - tgz - - - org.postgresql - postgresql-distribution - win64 - tgz - - - - - com.oracle.java - jre - linux - tgz - - - com.oracle.java - jre - win64 - tgz - - - - - org.libreoffice - libreoffice-dist - linux - tgz - - - org.libreoffice - libreoffice-dist - windows - tgz - - - - - org.alfresco - alfresco-pdf-renderer - linux - tgz - - - org.alfresco - alfresco-pdf-renderer - win64 - tgz - - - - - org.imagemagick - imagemagick-distribution - linux - tgz - - - org.imagemagick - imagemagick-distribution - win64 - tgz - - - - - com.bitnami - installbuilder - linux - tgz - - - com.bitnami - installbuilder - win - tgz - - - - - org.alfresco - manager - linux - tgz - - - org.alfresco - manager - win64 - tgz - - - - - - - maven-dependency-plugin - - - - download-dependencies - - resolve - - - - get-distribution - prepare-package - - unpack - - - - - org.alfresco - alfresco-installer-resources - ${project.build.directory}/classes - - - org.alfresco - alfresco-content-services-community-full-distribution - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name} - - - - org.alfresco - alfresco-solr1-distribution - zip - ${project.build.directory}/distribution/${alfresco.distribution.name}-${installer.version.name}/alf_data/solr - - - - org.alfresco - alfresco-wcmqs-distribution - zip - ${project.build.directory}/wcmqs - - - - org.alfresco - alfresco-wcmqs-web - classes - ${project.build.directory}/wcmqs - alfresco/web-extension/** - - - - org.alfresco - alfresco-wcmqs-client-api - ${project.build.directory}/wcmqs - alfresco/extension/** - - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - zip - ${project.build.directory}/distribution/aos-module - - - - - - get-amps - prepare-package - - copy - - - - - org.alfresco.integrations - alfresco-googledocs-repo - amp - - - org.alfresco.integrations - alfresco-googledocs-share - amp - - - - - - - - - - maven-resources-plugin - - - override-local-resources - prepare-package - - resources - - - ${project.build.directory} - true - - properties - - - - - - - - maven-antrun-plugin - - - - extract-binaries-tgz - prepare-package - - run - - - - - - - - - - build-installers - package - - run - - - ${project.build.directory}/classes/bitrock - - - - - - - - - - - - - - win-bitrock - - - windows - - - - ${bitrock.folder}/bin/builder-cli.exe - - - - linux-bitrock - - - linux - - - - ${bitrock.folder}/bin/builder - - - - - diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 020f5770a1..0000000000 --- a/pom.xml +++ /dev/null @@ -1,307 +0,0 @@ - - 4.0.0 - - org.alfresco - alfresco-super-pom - 6 - - full-community-packaging - 6.0.4-SNAPSHOT - pom - Alfresco Content Services Community Full Packaging - - - scm:git:git@github.com:Alfresco/acs-community-full-packaging.git - scm:git:git@github.com:Alfresco/acs-community-full-packaging.git - https://github.com/Alfresco/acs-community-full-packaging - HEAD - - - - - 6.0.3-ea - - - 5.2.f - - - 3.0.4.2 - - - 1.1.7 - - 6.1 - 6.6 - - - 5.2-20170616 - 7.0.82-alfresco-distribution - 1.8.0_131 - 9.4.12 - 5.2.1-alfresco - 7.0.5 - 1.0 - 1.1 - 6.0 - - - 15.10.1 - - ${project.version} - alfresco-community - ${alfresco.package.name}-distribution - - - - distribution - public-javadoc - installer-resources - installer - docker-alfresco - docker-share - - - - - - - org.alfresco - acs-community-packaging - ${dependency.acs-community-packaging.version} - pom - import - - - org.alfresco - alfresco-content-services-community-distribution - ${dependency.acs-community-packaging.version} - zip - - - org.alfresco.aos-module - alfresco-aos-module - ${alfresco.aos-module.version} - amp - - - org.alfresco.aos-module - alfresco-aos-module-distributionzip - ${alfresco.aos-module.version} - zip - - - org.alfresco.aos-module - alfresco-vti-bin - ${alfresco.aos-module.version} - war - - - org.alfresco - alfresco-content-services-share-distribution - ${alfresco.share.version} - zip - - - org.alfresco - alfresco-share-services - ${alfresco.share.version} - amp - - - org.alfresco - share - ${alfresco.share.version} - war - - - org.alfresco - alfresco-solr1-distribution - ${alfresco.solr.version} - zip - - - org.alfresco - alfresco-solr4-distribution - ${alfresco.solr4.version} - zip - - - org.alfresco - alfresco-wcmqs-distribution - ${alfresco.share.version} - zip - - - org.alfresco - alfresco-wcmqs-web - ${alfresco.share.version} - classes - - - org.alfresco - alfresco-wcmqs-client-api - ${alfresco.share.version} - - - org.alfresco.integrations - alfresco-googledocs-repo - ${alfresco.googledocs.version} - amp - - - org.alfresco.integrations - alfresco-googledocs-share - ${alfresco.googledocs.version} - amp - - - - - org.alfresco - installer-common - ${installer.common.version} - linux - tgz - - - - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - linux - tgz - - - org.apache.tomcat - tomcat - ${installer.tomcat.version} - win64 - tgz - - - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - linux - tgz - - - org.postgresql - postgresql-distribution - ${installer.postgresql.version} - win64 - tgz - - - - - com.oracle.java - jre - ${installer.java.version} - linux - tgz - - - com.oracle.java - jre - ${installer.java.version} - win64 - tgz - - - - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - linux - tgz - - - org.libreoffice - libreoffice-dist - ${installer.libreoffice.version} - windows - tgz - - - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - linux - tgz - - - org.alfresco - alfresco-pdf-renderer - ${installer.alfresco-pdf-renderer.version} - win64 - tgz - - - - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - linux - tgz - - - org.imagemagick - imagemagick-distribution - ${installer.imagemagick.version} - win64 - tgz - - - - - com.bitnami - installbuilder - ${installer.installbuilder.version} - linux - tgz - - - com.bitnami - installbuilder - ${installer.installbuilder.version} - win - tgz - - - - - org.alfresco - manager - ${installer.manager.version} - linux - tgz - - - org.alfresco - manager - ${installer.manager.version} - win64 - tgz - - - - - - - alfresco-releases - https://artifacts.alfresco.com/nexus/content/repositories/releases - - - alfresco-snapshots - https://artifacts.alfresco.com/nexus/content/repositories/snapshots - - -

RZfan10#rW24`jWsu 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%0AsK%)bcUFv7dfh)Hm$t==}_ekS^9wXJ~9qWE1#J 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 Kma3Hih5QfEw=(zu diff --git a/installer-resources/src/main/resources/bitrock/images/alfresco_top_right.png b/installer-resources/src/main/resources/bitrock/images/alfresco_top_right.png deleted file mode 100644 index 0b5a081d67c9ad30cd1210366a61e9ba68b3d29f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7588 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 V_?`Q}@aMm&qMWL1g|yk*{{bgK49x%l diff --git a/installer-resources/src/main/resources/bitrock/images/splash.png b/installer-resources/src/main/resources/bitrock/images/splash.png deleted file mode 100644 index 67600d02b971c9e91c0ee3fdccd3640b95c28ce1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55140 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