Browse Source

poi-ooxml-lite: Check in list of classes and xsb-files to avoid the jar-to-test dependency

Avoid running all tests whenever building jars as tests take a long time now
and also cause large memory allocations.

It is nice if the target "jar" is as fast as possible and the list of included
items for ooxml-lite only changes rarely anyway.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1899160 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_3
Dominik Stadler 2 years ago
parent
commit
09e464bb5f

+ 1
- 0
build.gradle View File

@@ -639,6 +639,7 @@ rat {
"poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/xmldsig-core-schema.xsd",
"poi-ooxml-full/src/main/xmlschema/org/apache/poi/xdgf/visio.xsd",
"osgi/README.md",
"src/resources/ooxml-lite-report.*",
// ignore svn conflict artifacts
"**/module-info.*"
]

+ 1
- 1
build.xml View File

@@ -153,7 +153,7 @@ under the License.
<property name="ooxml.testokfile" location="poi-ooxml/build/testokfile.txt"/>

<property name="ooxml.lite.agent" location="build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${version.id}.jar"/>
<property name="ooxml.lite.report" location="build/ooxml-lite-report"/>
<property name="ooxml.lite.report" location="src/resources/ooxml-lite-report"/>
<property name="ooxml.lite.jar" location="build/dist/maven/poi-ooxml-lite/poi-ooxml-lite-${version.id}.jar"/>
<property name="ooxml.lite.includes" value="^(com/microsoft/schemas|org/(etsi|openxmlformats|w3/)|org/apache/poi/schemas)"/>
<property name="ooxml.lite.output.dir" location="poi-ooxml-lite-agent/build/classes/ant/java"/>

+ 2
- 1
jenkins/create_jobs.groovy View File

@@ -201,8 +201,9 @@ rm -rf examples excelant integrationtest main ooxml ooxml-schema scratchpad buil

# show which files are currently modified in the working copy
svn status || true
# make sure no changed module-class-files are lingering on
# make sure no changed module-class-files or ooxml-lite-report-files are lingering on
svn revert poi*/src/*/java9/module-info.* || true
svn revert src/resources/ooxml-lite-report.* || true

# print out information about which exact version of java we are using
echo Java-Home: $JAVA_HOME

+ 1
- 2
poi-excelant/build.gradle View File

@@ -62,8 +62,7 @@ final List MAIN_MODULE_PATH = sourceSets.main.runtimeClasspath.findAll{ it.path
final List TEST_MODULE_PATH = configurations.testRuntimeClasspath.findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique()

final String OOXML_LITE_AGENT = "../build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${project.version}.jar"
final String OOXML_LITE_REPORT = '../build/ooxml-lite-report'
final String OOXML_LITE_JAR = "../build/dist/maven/poi-ooxml-lite/poi-ooxml-lite-${project.version}.jar"
final String OOXML_LITE_REPORT = '../src/resources/ooxml-lite-report'
final String OOXML_LITE_INCLUDES = "^(com/microsoft/schemas|org/(etsi|openxmlformats|w3/)|org/apache/poi/schemas)"

task compileJava9(type: JavaCompile) {

+ 1
- 2
poi-integration/build.gradle View File

@@ -93,8 +93,7 @@ final List MODULE_COMPILE_PATH = (sourceSets.test.compileClasspath + configurati
final List MODULE_RUNTIME_PATH = (sourceSets.test.runtimeClasspath + configurations.misc.files).findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique()

final String OOXML_LITE_AGENT = "../build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${project.version}.jar"
final String OOXML_LITE_REPORT = '../build/ooxml-lite-report'
final String OOXML_LITE_JAR = "../build/dist/maven/poi-ooxml-lite/poi-ooxml-lite-${project.version}.jar"
final String OOXML_LITE_REPORT = '../src/resources/ooxml-lite-report'
final String OOXML_LITE_INCLUDES = "^(com/microsoft/schemas|org/(etsi|openxmlformats|w3/)|org/apache/poi/schemas)"

java {

+ 2
- 7
poi-ooxml-lite/build.gradle View File

@@ -38,17 +38,14 @@ sourceSets {
dependencies {
api "org.apache.xmlbeans:xmlbeans:${xmlbeansVersion}"
compileOnly project(':poi-ooxml-full')
compileOnly project(path:':poi-integration', configuration:'tests')
}

final MODULE_NAME = 'org.apache.poi.ooxml.schemas'
final Pattern MODULE_REGEX = ~'\\.jar$'
final List MAIN_MODULE_PATH = sourceSets.main.runtimeClasspath.findAll{ it.path =~ MODULE_REGEX }.collect{ it.parent }.unique()
final String OOXML_LITE_REPORT = '../build/ooxml-lite-report'
final String OOXML_LITE_REPORT = '../src/resources/ooxml-lite-report'

task generateModuleInfo() {
dependsOn ':poi-ooxml:build', ':poi-integration:build', ':poi-excelant:build'

File fileIn = file("${OOXML_LITE_REPORT}.clazz")
File fileOut = file("src/main/java9/module-info.java")

@@ -71,7 +68,7 @@ task generateModuleInfo() {
}

task compileOoxmlLite(type: Copy) {
dependsOn 'generateModuleInfo'
dependsOn 'generateModuleInfo', ':poi-ooxml-full:generate_beans'

// This task is currently always executed, because gradle thinks files with two dollar signs
// (as in AlternateContentDocument$AlternateContent$Choice.class) are always stale
@@ -128,8 +125,6 @@ task cacheJava9(type: Copy, dependsOn: 'compileJava9') {
}

jar {
dependsOn ':poi-ooxml:test', ':poi-integration:test'

destinationDirectory = file("../build/dist/maven/${project.archivesBaseName}")

doFirst {

+ 1
- 1
poi-ooxml/build.gradle View File

@@ -169,7 +169,7 @@ final List MAIN_MODULE_PATH = sourceSets.main.runtimeClasspath.findAll{ it.path
final List TEST_MODULE_PATH = sourceSets.test.runtimeClasspath.findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique() + files("build/brokenJars")

final String OOXML_LITE_AGENT = "../build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${project.version}.jar"
final String OOXML_LITE_REPORT = '../build/ooxml-lite-report'
final String OOXML_LITE_REPORT = '../src/resources/ooxml-lite-report'
final String OOXML_LITE_INCLUDES = "^(com/microsoft/schemas|org/(etsi|openxmlformats|w3/)|org/apache/poi/schemas)"

compileJava {

+ 2492
- 0
src/resources/ooxml-lite-report.clazz
File diff suppressed because it is too large
View File


+ 1158
- 0
src/resources/ooxml-lite-report.xsb
File diff suppressed because it is too large
View File


Loading…
Cancel
Save