Building Opencms 9.5.x from the sources
m (moved Building Opencms 9.0.1 from the sources to Building Opencms 9.5.x from the sources: The tagged version 9.0.1 does not build due to (at least) a script error. The branch 9_0_x does not build due to (at least) a wrong file encoding.) |
m (Added the commit when the file encoding has been fixed for reference) |
||
Line 57: | Line 57: | ||
Execution failed for task ':javadocTest'. | Execution failed for task ':javadocTest'. | ||
> Javadoc generation failed. | > Javadoc generation failed. | ||
+ | |||
+ | The commit https://github.com/alkacon/opencms-core/commit/89e10779f43cd8bcc31f7db9d60193a89994c948 fixes the encoding, but it hasn't made it yet into branch_0_x. | ||
Revision as of 17:19, 30 September 2014
Note: this is work in progress
Building opencms-core
Note: This build process has been tested using Java 7 and Gradle 1.8.
1. Checkout the sources of the 9_5_x branch1, 2:
git clone https://github.com/alkacon/opencms-core.git -b branch_9_5_x
2. Execute the gradle bindist task:
gradle bindist
- Tip for developers: Gwt generates code for all the possible permutations of the supported languages and browsers. This compilation takes a significant part of the complete build time. During development builds you could find useful to generate the corresponding gwt code only for a language and a browser restricting the value of the properties locale and user.agent to only one value in the file opencms-core/src-gwt/org/opencms/GwtBase.gwt.xml.
3. If you want to also build the opencms oamp, v8 or v7 modules, you also need to install in your local maven repository the corresponding jars3, 4:
gradle install
Building alkacom-oamp
1. Checkout the sources of the 9_5_x branch
git clone https://github.com/alkacon/alkacon-oamp.git -b branch_9_5_x
2. Execute the gradle bindist task5:
gradle bindist
Notes
1. Checking out the build tagged build_9_0_1 and executing gradle fails with the following message:
> Could not find property 'distribution' on configuration ':compile'.
2. In the branch build_9_0_x this issue is fixed, but there is still an ISO encoded file test/org/opencms/search/extractors/TestMsPowerPointExtraction.java that breaks the javadocs:
[...] :javadocTest /home/myuser/src/opencms-9.0.x/opencms-core/test/org/opencms/search/extractors/TestMsPowerPointExtraction.java:93: error: unmappable character for encoding UTF8 // this is "�������" ^ /home/myuser/src/opencms-9.0.x/opencms-core/test/org/opencms/search/extractors/TestMsPowerPointExtraction.java:93: error: unmappable character for encoding UTF8 // this is "�������" ^ [...] 14 errors :javadocTest FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':javadocTest'. > Javadoc generation failed.
The commit https://github.com/alkacon/opencms-core/commit/89e10779f43cd8bcc31f7db9d60193a89994c948 fixes the encoding, but it hasn't made it yet into branch_0_x.
3. The current javadocs are broken and when using Java 8+, gradle fails with the following message:
[...] 100 errors 100 warnings :javadoc FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':javadoc'. [...]
I have written a pull-request to work around this issue: https://github.com/alkacon/opencms-core/pull/278
4. You need to match the version of the generated opencms-core artifacts to the version of the alkacon-oamp dependencies. Since commit 89e10779f43cd8bcc31f7db9d60193a89994c948 (from 2014-04.02, already in 9_5_x), the property version.number in the file opencms-core/src/org/opencms/main/version.properties defines the versions of the opencms-core artifacts. The property opencms_version of the file alkacon-oamp/gradle.properties declares the version of the dependencies:
opencms-core/src/org/opencms/main/version.properties | alkacon-oamp/gradle.properties |
---|---|
# Static version information file # # You should set this to something meaningful before you build. version.number=9.5.x version.id=Manual build build.number=(not set) build.date=(not set) nicename.build.number=Build Number nicename.build.date=Build Date # This has no nice name on purpose (for test cases) build.info=Static version file |
build_directory=../../BuildOAMP opencms_version=9.5.x java_target_version=1.6 max_heap_size=1024m # all available modules modules_oamp_all=\ com.alkacon.opencms.commons,\ com.alkacon.opencms.calendar,\ com.alkacon.opencms.documentcenter,\ [...] |
5. Currently, gradle 2.1 fails with the following message:
> DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" set to true.
I have written a pull-request to fix this bug: https://github.com/alkacon/alkacon-oamp/pull/30. See also http://opencms.996256.n3.nabble.com/OpenCms-9-0-1-ready-for-download-tp23958p24010.html