Merge branch 'main' into bugfix/345-Certain-select-operations-deplete-FS-ID-pool
diff --git a/Jenkinsfile b/Jenkinsfile
index 60cd449..86153e9 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -18,6 +18,6 @@
@Library('uima-build-jenkins-shared-library') _
defaultPipeline {
- // extraMavenArguments = '-Pjacoco,spotbugs,pmd,run-rat-report -Ddisable-rc-auto-staging'
- extraMavenArguments = '-Prun-rat-report -Ddisable-rc-auto-staging'
+ // extraMavenArguments = '-Pjacoco,spotbugs,pmd -Ddisable-rc-auto-staging'
+ extraMavenArguments = '-Ddisable-rc-auto-staging'
}
diff --git a/pom.xml b/pom.xml
index d9096db..2de14fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,22 +47,17 @@
</scm>
<properties>
- <jiraVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}SDK</jiraVersion>
<assemblyBinDescriptor>src/main/assembly/bin-without-jackson.xml</assemblyBinDescriptor>
<postNoticeText>${ibmNoticeText}</postNoticeText>
</properties>
- <!-- dependencies that go into the various builds via dependency-sets -->
- <!-- version is specified here -->
- <!-- default scope is compile -->
- <!-- Used for assemblies, to insure they're built *before* the assembly -->
+ <modules>
+ <module>uimaj-bom</module>
+ <module>uimaj-parent</module>
+ <module>aggregate-uimaj</module>
+ </modules>
- <!-- Note: as of 6/2013 it seems these dependencies may not be needed
- They are not up-to-date with all the subprojects, but that doesn't
- seem to matter.
-
- Consider deleting at some point -->
-
+ <!-- The dependencies here are required for the binary distribution assembly! -->
<dependencies>
<dependency>
<groupId>org.apache.uima</groupId>
@@ -139,6 +134,9 @@
<artifactId>uimaj-json</artifactId>
<version>${project.version}</version>
</dependency>
+
+ <!-- BEGIN: uimaj-v3migration-jcas -->
+ <!-- These can be removed when we remove the migration module -->
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-v3migration-jcas</artifactId>
@@ -159,6 +157,8 @@
<artifactId>javaparser-core</artifactId>
<version>3.2.2</version>
</dependency>
+ <!-- END: uimaj-v3migration-jcas -->
+
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
@@ -171,27 +171,16 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j-version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
- <version>${log4j-version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
- <version>${log4j-version}</version>
</dependency>
</dependencies>
-
- <modules>
- <module>uimaj-bom</module>
- <module>uimaj-parent</module>
- <module>aggregate-uimaj</module>
- <!-- UIMA 3.4.1 has no issues from Jira -->
- <!-- module>uimaj-legacy-jira-report</module -->
- </modules>
<build>
<plugins>
@@ -221,18 +210,6 @@
</groups>
<sourcepath>uimaj-core/src/main/java;uimaj-json/src/main/java;uimaj-document-annotation/src/main/java</sourcepath>
<excludePackageNames>*.internal.*:*.impl.*</excludePackageNames>
- <!-- add a few classes in impl packages that are directly used by user code -->
- <additionalparam>
- ${basedir}/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASDeserializer.java
- ${basedir}/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASParsingException.java
- ${basedir}/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASSerializer.java
- ${basedir}/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasDeserializer.java
- ${basedir}/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasSerializer.java
- ${basedir}/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiSerializationSharedData.java
- ${basedir}/uimaj-core/src/main/java/org/apache/uima/cas/impl/Serialization.java
- ${basedir}/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/metadata/cpe/CpeDescriptorFactory.java
- ${basedir}/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/engine/CPMChunkTimeoutException.java
- </additionalparam>
<doctitle>Apache UIMA Java SDK ${project.version} User-Level API Documentation</doctitle>
<windowtitle>Apache UIMA Java SDK ${project.version} User-Level API Documentation</windowtitle>
<additionalDependencies>
@@ -241,6 +218,21 @@
<artifactId>jackson-core</artifactId>
<version>${jackson-version}</version>
</additionalDependency>
+ <additionalDependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j-version}</version>
+ </additionalDependency>
+ <additionalDependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-api</artifactId>
+ <version>${log4j-version}</version>
+ </additionalDependency>
+ <additionalDependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>${log4j-version}</version>
+ </additionalDependency>
</additionalDependencies>
</configuration>
</execution>
@@ -277,6 +269,7 @@
<!-- These markdown files cannot bear a license header -->
<exclude>NOTICE.md</exclude>
<exclude>src/main/bin_distr_license_notices/NOTICE.md</exclude>
+ <exclude>src/main/bin_distr_license_notices/NOTICE-without-jackson.md</exclude>
<!-- These configuration files cannot bear a license header -->
<exclude>.github/**/*</exclude>
<exclude>src/main/eclipse/org.eclipse.jdt.core.prefs</exclude>
@@ -304,7 +297,6 @@
<exclude>uimaj-internal-tools/**</exclude>
<exclude>uimaj-json/**</exclude>
<exclude>uimaj-v3migration-jcas/**</exclude>
- <exclude>uimaj-legacy-jira-report/**</exclude>
</excludes>
</configuration>
</execution>
@@ -332,49 +324,7 @@
</plugins>
</build>
</profile>
-
- <profile>
- <id>generate-changes-report</id>
- <activation>
- <file>
- <exists>marker-file-enabling-changes-report</exists>
- </file>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <!--
- - Copies the legacy Jira issue report to the issuesFixed folder. We cannot simple
- - configure the uimaj-legacy-jira-report module to write the report directly there
- - because otherwise it woudl be cleaned during the clean phase of the root module.
- -->
- <id>copy-legacy-jira-issues-report-to-issues-fixed-folder</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <!--
- GitHub changes report is always generated, Jira only during release builds,
- so it could be missing - hence failonerror="false"
- -->
- <copy todir="${basedir}/issuesFixed" failonerror="false">
- <fileset dir="uimaj-legacy-jira-report/target/issuesFixed" />
- </copy>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
+
<profile>
<id>apache-release-rc-auto-staging-config</id>
<activation>
@@ -390,6 +340,7 @@
<inherited>false</inherited>
<executions>
<execution>
+ <id>release-rc-auto-staging</id>
<phase>install</phase>
<goals>
<goal>run</goal>
@@ -420,19 +371,5 @@
</plugins>
</build>
</profile>
-
- <profile>
- <id>json-support</id>
- <activation>
- <!-- active by default, turn off via command line -P!json-support -->
- <file><exists>pom.xml</exists></file>
- </activation>
- <properties>
- <assemblyBinDescriptor>src/main/assembly/bin.xml</assemblyBinDescriptor>
- </properties>
- <modules>
- <module>uimaj-json</module>
- </modules>
- </profile>
</profiles>
</project>
diff --git a/src/main/assembly/bin-without-jackson.xml b/src/main/assembly/bin-without-jackson.xml
new file mode 100644
index 0000000..027b274
--- /dev/null
+++ b/src/main/assembly/bin-without-jackson.xml
@@ -0,0 +1,362 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<assembly>
+ <id>bin</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+
+ <includeBaseDirectory>true</includeBaseDirectory>
+
+ <baseDirectory>/apache-uima</baseDirectory>
+
+ <dependencySets>
+ <!-- Because our artifactIds are uimaj-xxx but our jars are uima-xxx,
+ I need a separate dependency set for each module so that I can
+ specify the jar file name. If we didn't have this inconsistency
+ we could have a single dependencySet that included all modules
+ and had an outputFileNameMapping of ${project.artifactId}.jar -->
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-bootstrap</include>
+ </includes>
+ <unpack>false</unpack>
+ <outputFileNameMapping>uimaj-bootstrap.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-core</include>
+ </includes>
+ <unpack>false</unpack>
+ <outputFileNameMapping>uima-core.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-cpe</include>
+ </includes>
+ <unpack>false</unpack>
+ <outputFileNameMapping>uima-cpe.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-document-annotation</include>
+ </includes>
+ <unpack>false</unpack>
+ <outputFileNameMapping>uima-document-annotation.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-examples</include>
+ </includes>
+ <unpack>false</unpack>
+ <outputFileNameMapping>uima-examples.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-tools</include>
+ </includes>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ <outputFileNameMapping>uima-tools.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-adapter-vinci</include>
+ </includes>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ <outputFileNameMapping>uima-adapter-vinci.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:jVinci</include>
+ </includes>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ <outputFileNameMapping>jVinci.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-json</include>
+ </includes>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ <outputFileNameMapping>uimaj-json.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-v3migration-jcas</include>
+ </includes>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ <outputFileNameMapping>uimaj-v3migration-jcas.jar</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+
+ <!-- Copy each eclipse plugin into the /eclipsePlugins dir of the distribution -->
+ <dependencySet>
+ <includes>
+ <include>org.apache.uima:uimaj-ep-cas-editor</include>
+ <include>org.apache.uima:uimaj-ep-cas-editor-ide</include>
+ <include>org.apache.uima:uimaj-ep-configurator</include>
+ <include>org.apache.uima:uimaj-ep-debug</include>
+ <include>org.apache.uima:uimaj-ep-jcasgen</include>
+ <include>org.apache.uima:uimaj-ep-pear-packager</include>
+ <include>org.apache.uima:uimaj-ep-runtime</include>
+ <include>org.apache.uima:uimaj-ep-launcher</include>
+ </includes>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ <outputDirectory>eclipsePlugins</outputDirectory>
+ <outputFileNameMapping>${artifact.build.finalName}.jar</outputFileNameMapping>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+
+ <!-- loggers and other lib 3rd party jars not renamed -->
+ <dependencySet>
+ <includes>
+ <include>org.bitbucket.mstrobel:procyon-compilertools</include>
+ <include>org.bitbucket.mstrobel:procyon-core</include>
+ <include>com.github.javaparser:javaparser-core</include>
+ <include>org.slf4j:slf4j-api</include>
+ <!-- hook to built-in Java backend for slf4j included -->
+ <include>org.slf4j:slf4j-jdk14</include>
+ </includes>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ <outputDirectory>lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </dependencySet>
+ </dependencySets>
+
+ <!-- Add other files - scripts, documentation, examples -->
+ <fileSets>
+ <fileSet>
+ <directory>src/main/scripts</directory>
+ <outputDirectory>bin</outputDirectory>
+ <includes><include>*.sh</include></includes>
+ <fileMode>755</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/scripts</directory>
+ <outputDirectory>bin</outputDirectory>
+ <excludes><exclude>*.sh</exclude></excludes>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/properties</directory>
+ <outputDirectory>config</outputDirectory>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+
+ <!-- copy standard top level files -->
+ <fileSet>
+ <directory>.</directory>
+ <outputDirectory></outputDirectory>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ <includes>
+ <include>README*</include>
+ <include>readme*</include>
+ <include>RELEASE_NOTES*</include>
+ <include>Release-Notes*</include>
+ <include>issuesFixed/**</include>
+ </includes>
+ </fileSet>
+
+ <fileSet>
+ <directory>target/site/apidocs</directory>
+ <outputDirectory>docs/d/api</outputDirectory>
+ <excludes>
+ <exclude>options</exclude>
+ <exclude>packages</exclude>
+ <exclude>files</exclude>
+ <exclude>argfile</exclude>
+ </excludes>
+ <fileMode>444</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+
+ <!-- Documentation -->
+ <fileSet>
+ <directory>uimaj-documentation/target/site/</directory>
+ <outputDirectory>docs</outputDirectory>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ <excludes>
+ <exclude>**/maint.*</exclude>
+ <exclude>**/maint/**</exclude>
+ </excludes>
+ </fileSet>
+
+ <!-- examples -->
+ <fileSet>
+ <directory>uimaj-examples/src/main</directory>
+ <outputDirectory>examples</outputDirectory>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ <includes>
+ <include>deploy/**</include>
+ <include>descriptors/**</include>
+ <include>resources/**</include>
+ <include>run_configuration/**</include>
+ </includes>
+ </fileSet>
+
+ <fileSet>
+ <directory>uimaj-examples/src/main/java</directory>
+ <outputDirectory>examples/src</outputDirectory>
+ <excludes>
+ <exclude>org/apache/uima/examples/xmi/XmiEcoreCasConsumer.java</exclude>
+ <exclude>org/apache/uima/examples/xmi/Ecore2UimaTypeSystem.java</exclude>
+ <exclude>org/apache/uima/examples/xmi/UimaTypeSystem2Ecore.java</exclude>
+ </excludes>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+ <fileSet>
+ <directory>uimaj-examples/src/main/data</directory>
+ <outputDirectory>examples/data</outputDirectory>
+ <fileMode>644</fileMode>
+ <!-- next mode 777 because some examples write into dir
+ and we want to eliminate failures due to write permissions -->
+ <directoryMode>777</directoryMode>
+ </fileSet>
+
+ <!-- Copy the API Change reports -->
+ <fileSet>
+ <directory>uimaj-core/api-change-report</directory>
+ <outputDirectory>uimaj-core/api-change-report</outputDirectory>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+ <fileSet>
+ <directory>uimaj-cpe/api-change-report</directory>
+ <outputDirectory>uimaj-cpe/api-change-report</outputDirectory>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+ <fileSet>
+ <directory>uimaj-json/api-change-report</directory>
+ <outputDirectory>uimaj-json/api-change-report</outputDirectory>
+ <fileMode>644</fileMode>
+ <directoryMode>755</directoryMode>
+ </fileSet>
+ </fileSets>
+
+ <files>
+ <!-- copy bin distr license and notice -->
+ <file>
+ <source>src/main/bin_distr_license_notices/LICENSE.txt</source>
+ <outputDirectory></outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>src/main/bin_distr_license_notices/NOTICE-without-jackson.md</source>
+ <destName>NOTICE.md</destName>
+ <outputDirectory></outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+
+ <file>
+ <source>uimaj-examples/src/main/eclipseProject/project</source>
+ <outputDirectory>examples</outputDirectory>
+ <destName>.project</destName>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>uimaj-examples/src/main/eclipseProject/classpath</source>
+ <outputDirectory>examples</outputDirectory>
+ <destName>.classpath</destName>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>uimaj-examples/src/main/eclipseProject/ecore_src_readme.txt</source>
+ <outputDirectory>examples/ecore_src</outputDirectory>
+ <destName>readme.txt</destName>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiEcoreCasConsumer.java</source>
+ <outputDirectory>examples/ecore_src/org/apache/uima/examples/xmi</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>uimaj-examples/src/main/java/org/apache/uima/examples/xmi/Ecore2UimaTypeSystem.java</source>
+ <outputDirectory>examples/ecore_src/org/apache/uima/examples/xmi</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>uimaj-examples/src/main/java/org/apache/uima/examples/xmi/UimaTypeSystem2Ecore.java</source>
+ <outputDirectory>examples/ecore_src/org/apache/uima/examples/xmi</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>api-change-report.html</source>
+ <outputDirectory>.</outputDirectory>
+ </file>
+ </files>
+</assembly>
\ No newline at end of file
diff --git a/src/main/assembly/bin.xml b/src/main/assembly/bin.xml
index daa6770..081e561 100644
--- a/src/main/assembly/bin.xml
+++ b/src/main/assembly/bin.xml
@@ -178,11 +178,6 @@
<include>org.bitbucket.mstrobel:procyon-core</include>
<include>com.github.javaparser:javaparser-core</include>
<include>org.slf4j:slf4j-api</include>
- <!-- log4j not default included
- <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
- <include>org.apache.logging.log4j:log4j-core</include>
- <include>org.apache.logging.log4j:log4j-api</include>
- -->
<!-- hook to built-in Java backend for slf4j included -->
<include>org.slf4j:slf4j-jdk14</include>
</includes>
diff --git a/src/main/bin_distr_license_notices/NOTICE-without-jackson.md b/src/main/bin_distr_license_notices/NOTICE-without-jackson.md
new file mode 100644
index 0000000..0600d54
--- /dev/null
+++ b/src/main/bin_distr_license_notices/NOTICE-without-jackson.md
@@ -0,0 +1,15 @@
+# Apache UIMA Java SDK
+
+Copyright 2006 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+Portions of UIMA were originally developed by
+International Business Machines Corporation and are
+licensed to the Apache Software Foundation under the
+"Software Grant License Agreement", informally known as the
+"IBM UIMA License Agreement".
+Copyright (c) 2003, 2006 IBM Corporation.
+
+ResolverUtil.java Copyright 2005-2006 Tim Fennell
diff --git a/src/main/eclipse/org.eclipse.jdt.core.prefs b/src/main/eclipse/org.eclipse.jdt.core.prefs
index d92babd..9a7cc7b 100644
--- a/src/main/eclipse/org.eclipse.jdt.core.prefs
+++ b/src/main/eclipse/org.eclipse.jdt.core.prefs
@@ -1,15 +1,15 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
-org.eclipse.jdt.core.compiler.processAnnotations=enabled
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_selector_in_method_invocation_on_expression_first_line=false
diff --git a/uimaj-core/pom.xml b/uimaj-core/pom.xml
index 8597966..064ba3b 100644
--- a/uimaj-core/pom.xml
+++ b/uimaj-core/pom.xml
@@ -40,73 +40,29 @@
</properties>
<dependencies>
-
- <!-- Loggers -->
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId> <!-- core, not api, because need to set log level via api -->
- <version>${log4j-version}</version>
- <!-- "provided" fails in maven test - says cannot initialize class that makes ref to classes in this jar
- "test" fails in maven compile - cannot compile -->
- <scope>provided</scope>
- </dependency>
-
- <!-- dependency> moved to surefire configuration
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId--> <!-- core, not api, because need to set log level via api -->
- <!-- version>${log4j-version}</version-->
- <!-- "provided" fails in maven test - says cannot initialize class that makes ref to classes in this jar
- "test" fails in maven compile - cannot compile -->
- <!-- scope>test</scope>
- </dependency-->
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j-version}</version>
- <!-- "provided" fails in maven test - says cannot initialize class that makes ref to classes in this jar
- "test" fails in maven compile - cannot compile -->
- <scope>provided</scope>
- </dependency>
-
- <!-- dependency> moved to surefire configuration
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j-version}</version>
- <scope>test</scope>
- </dependency-->
-
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
-
- <!-- needed to convert slf4j markers into log4j markers
- and for running the test -->
+
+ <!-- Optional loggers -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j-version}</version>
- <!-- scope provided: put in compile classpath, excluded from test classpath, not passed along -->
+ <artifactId>log4j-core</artifactId>
<scope>provided</scope>
</dependency>
-
- <!-- dependency> moved to surefire configuration
+ <dependency>
<groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j-version}</version>
- <scope>test</scope>
- </dependency-->
-
- <!-- causes build error: package org.apache.logging.slf4j does not exist
+ <artifactId>log4j-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j-version}</version>
- <scope>test</scope>
+ <scope>provided</scope>
</dependency>
- -->
-
+
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-test-util</artifactId>
@@ -161,37 +117,8 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.12.0</version>
<scope>test</scope>
</dependency>
-
- <!-- Uncomment one of these to add Saxon8 or 9 to the classpath for JUnit tests.
- 1 fails due to different formatting and a dropped xmlns attribute,
- 5 work when run separately or by mvn, but fail when running all tests from Eclipse:
- Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element '....'
- -->
- <!--
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>Saxon-HE</artifactId>
- <version>9.7.0-14</version>
- <scope>test</scope>
- </dependency>
-
-
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon</artifactId>
- <version>8.7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon-dom</artifactId>
- <version>8.7</version>
- <scope>test</scope>
- </dependency>
- -->
</dependencies>
<build>
@@ -219,15 +146,6 @@
</executions>
</plugin>
- <!-- Uncomment the next to run with -Xlint:unchecked -->
- <!--plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <compilerArgument>-Xlint:unchecked</compilerArgument>
- </configuration>
- </plugin-->
-
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
@@ -311,26 +229,6 @@
</configuration>
</plugin>
- <!-- experiment with CLIRR
- gets fatal error:
-
- net.sf.clirr.core.CheckerException: Unable to find information in class org.apache.uima.cas.impl.AnnotationBaseImpl
- referring back to nested class org.apache.uima.cas.impl.AnnotationBaseImpl$1
- at net.sf.clirr.core.internal.bcel.BcelScopeHelper.getClassScope(BcelScopeHelper.java:127)
- at net.sf.clirr.core.internal.bcel.BcelJavaType.getDeclaredScope(BcelJavaType.java:141)
- at net.sf.clirr.core.internal.bcel.BcelJavaType.getEffectiveScope(BcelJavaType.java:145)
- at net.sf.clirr.core.internal.checks.ClassScopeCheck.check(ClassScopeCheck.java:72)
- at net.sf.clirr.core.Checker.runClassChecks(Checker.java:190)
- at net.sf.clirr.core.Checker.reportDiffs(Checker.java:136)
- at org.codehaus.mojo.clirr.AbstractClirrMojo.executeClirr(AbstractClirrMojo.java:236)
- -->
- <!--plugin>
- <artifactId>clirr-maven-plugin</artifactId>
- <groupId>org.codehaus.mojo</groupId>
- <version>2.2.3-SNAPSHOT</version>
-
- </plugin-->
-
<!-- filter the template for the version java code
to insert the version from properties -->
<plugin>
diff --git a/uimaj-documentation/pom.xml b/uimaj-documentation/pom.xml
index 9d638ab..d6d3894 100644
--- a/uimaj-documentation/pom.xml
+++ b/uimaj-documentation/pom.xml
@@ -32,6 +32,10 @@
<name>Apache UIMA Java SDK Documentation</name>
<url>https://uima.apache.org</url>
+ <properties>
+ <maven.deploy.skip>true</maven.deploy.skip>
+ </properties>
+
<build>
<plugins>
<plugin>
diff --git a/uimaj-json/pom.xml b/uimaj-json/pom.xml
index bb43fe3..840f633 100644
--- a/uimaj-json/pom.xml
+++ b/uimaj-json/pom.xml
@@ -26,8 +26,8 @@
<relativePath>../uimaj-parent/pom.xml</relativePath>
</parent>
<artifactId>uimaj-json</artifactId>
- <name>Apache UIMA Base: ${project.artifactId}: JSON</name>
- <description>JSON support for UIMA SDK</description>
+ <name>Apache UIMA Base: ${project.artifactId}: JSON (deprecated)</name>
+ <description>JSON support for UIMA SDK. This module is deprecated. Use https://github.com/apache/uima-uimaj-io-jsoncas instead.</description>
<dependencies>
<dependency>
diff --git a/uimaj-legacy-jira-report/pom.xml b/uimaj-legacy-jira-report/pom.xml
deleted file mode 100644
index 00092c6..0000000
--- a/uimaj-legacy-jira-report/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.uima</groupId>
- <artifactId>uimaj-parent</artifactId>
- <version>3.4.1-SNAPSHOT</version>
- <relativePath>../uimaj-parent/pom.xml</relativePath>
- </parent>
-
- <artifactId>uimaj-legacy-jira-report</artifactId>
- <packaging>pom</packaging>
-
- <properties>
- <jiraVersion>3.4.0SDK</jiraVersion>
- <maven.deploy.skip>true</maven.deploy.skip>
- </properties>
-
- <issueManagement>
- <system>Jira</system>
- <url>https://issues.apache.org/jira/browse/UIMA</url>
- </issueManagement>
-
- <profiles>
- <profile>
- <id>apache-release</id>
- <build>
- <!-- Run jira report -->
- <!-- depends on having -DjiraVersion set -->
- <plugins>
- <plugin>
- <artifactId>maven-changes-plugin</artifactId>
- <executions>
- <execution>
- <id>default-cli</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>jira-report</goal>
- </goals>
- <configuration>
- <useJql>true</useJql>
- <fixVersionIds>${jiraVersion}</fixVersionIds>
- <columnNames>Type,Key,Status,Summary</columnNames>
- <resolutionIds>Fixed</resolutionIds>
- <statusIds>Closed,Resolved</statusIds>
- <sortColumnNames>Type, Key</sortColumnNames>
- <!-- changed sortColumnNames for Jira 5
- was: <sortColumnNames>Status, Key, Type</sortColumnNames>
- -->
- <outputDirectory>target/issuesFixed</outputDirectory>
- <maxEntries>1000</maxEntries> <!-- hopefully, bigger than ever needed -->
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
diff --git a/uimaj-parent/pom.xml b/uimaj-parent/pom.xml
index f495232..81bf280 100644
--- a/uimaj-parent/pom.xml
+++ b/uimaj-parent/pom.xml
@@ -139,11 +139,12 @@
properties already, they should be injected manually into the plugins.
-->
<slf4j-version>1.7.36</slf4j-version>
- <maven.version>3.2.5</maven.version>
+ <maven.version>3.8.1</maven.version>
<log4j-version>2.20.0</log4j-version>
<commons-io-version>2.13.0</commons-io-version>
<commons-csv-version>1.10.0</commons-csv-version>
+ <commons-lang3-version>3.13.0</commons-lang3-version>
<jackson-version>2.15.2</jackson-version>
<junit-version>5.10.0</junit-version>
<junit-vintage-version>4.13.2</junit-vintage-version>
@@ -216,6 +217,14 @@
<artifactId>slf4j-api</artifactId>
<version>${slf4j-version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-bom</artifactId>
+ <version>${log4j-version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
<dependency>
<groupId>commons-io</groupId>
@@ -224,6 +233,11 @@
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${commons-lang3-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>${commons-csv-version}</version>
</dependency>