[UIMA-6293] Migrate UIMA Parent POM to GitHub
- Added Jenkinsfile
- Updated README
- Added ASF.yaml
- Added git configuration files
- Added pull-request template
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..7b182c0
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,40 @@
+# 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.
+github:
+ description: "Apache UIMA Parent POM"
+ homepage: https://uima.apache.org
+notifications:
+ commits: commits@uima.apache.org
+ issues: dev@uima.apache.org
+ pullrequests: dev@uima.apache.org
+ jira_options: link label
+github:
+ features:
+ # Enable wiki for documentation
+ wiki: false
+ # Enable issue management
+ issues: false
+ # Enable projects for project management boards
+ projects: false
+ enabled_merge_buttons:
+ # enable squash button:
+ squash: true
+ # enable merge button:
+ merge: true
+ # disable rebase button:
+ rebase: false
+
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..e708bb1
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,20 @@
+# Set the default behavior, in case people don't have core.autocrlf set.
+# means that files that GIT determines to be text files, will be
+# converted from CRLF -> LF upon being added to the repo, and
+# converted from LF -> LF or CRLF when checked out (depending on the platform, I think)
+* text=auto
+
+# Make sure that these files are treated as binary so that newlines are preserved.
+# overrides GIT's determination if a file is text or not
+*.bin binary
+*.dump binary
+*.xcas binary
+*.xmi binary
+# next is probably the default
+*.pdf binary
+
+# These files cannot have crlf, must have just lf
+# The "text" by itself says these files must be line-ending-conversion controlled on check-in / out
+# The internal repo form for these is always lf,
+# The eol=lf means on check-out do nothing, and on check-in, if the file has crlf, convert to lf
+*.sh text eol=lf
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..be60b81
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,18 @@
+**JIRA Ticket:** https://issues.apache.org/jira/browse/UIMA-XXXX
+
+**What's in the PR**
+* ...
+
+**How to test manually**
+* ...
+
+**Automatic testing**
+* [ ] *PR adds/updates unit tests*
+
+**Documentation**
+* [ ] *PR adds/updates documentation*
+
+**Organizational**
+- [ ] *PR includes new dependencies.* Only dependencies under [approved licenses](http://www.apache.org/legal/resolved.html#category-a) are allowed.
+ LICENSE and NOTICE files in the respective modules where dependencies have been added as
+ well as in the project root have been updated.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..043d64d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,12 @@
+.classpath
+.project
+.settings
+target
+META-INF
+checkpoint_synchPoint.xml
+checkpoint_synchPoint.xml.prev
+checkpoint.dat
+checkpoint.dat.prev
+api-change-report
+.factorypath
+issuesFixed
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..cc06c8b
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,110 @@
+// 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.
+
+pipeline {
+ agent any
+
+ tools {
+ maven 'maven_latest'
+ jdk 'jdk_11_latest'
+ }
+
+ options {
+ buildDiscarder(logRotator(
+ numToKeepStr: '25',
+ artifactNumToKeepStr: '5'
+ ))
+
+ // Seems not to be working reliably yet: https://issues.jenkins-ci.org/browse/JENKINS-48556
+ // timestamps()
+ }
+
+ parameters {
+ string(
+ name: 'extraMavenArguments',
+ defaultValue: "",
+ description: "Extra arguments to be passed to maven (for testing)")
+ }
+
+ stages {
+ // Display information about the build environemnt. This can be useful for debugging
+ // build issues.
+ stage("Build info") {
+ steps {
+ echo '=== Environment variables ==='
+ script {
+ if (isUnix()) {
+ sh 'printenv'
+ }
+ else {
+ bat 'set'
+ }
+ }
+ }
+ }
+
+ // Perform a merge request build. This is a conditional stage executed with the GitLab
+ // sources plugin triggers a build for a merge request. To avoid conflicts with other
+ // builds, this stage should not deploy artifacts to the Maven repository server and
+ // also not install them locally.
+ stage("Pull request build") {
+ when { branch 'PR-*' }
+
+ steps {
+ script {
+ currentBuild.description = 'Triggered by: <a href="' + CHANGE_URL + '">' + BRANCH_NAME +
+ ': ' + env.CHANGE_BRANCH + '</a> (' + env.CHANGE_AUTHOR_DISPLAY_NAME + ')'
+ }
+
+ withMaven() {
+ sh script: 'mvn ' +
+ params.extraMavenArguments +
+ ' -U -Dmaven.test.failure.ignore=true clean verify'
+ }
+
+ script {
+ def mavenConsoleIssues = scanForIssues tool: mavenConsole()
+ def javaIssues = scanForIssues tool: java()
+ def javaDocIssues = scanForIssues tool: javaDoc()
+ publishIssues issues: [mavenConsoleIssues, javaIssues, javaDocIssues]
+ }
+ }
+ }
+
+ // Perform a SNAPSHOT build of a main branch. This stage is typically executed after a
+ // merge request has been merged. On success, it deploys the generated artifacts to the
+ // Maven repository server.
+ stage("SNAPSHOT build") {
+ when { branch pattern: "master|master-v2", comparator: "REGEXP" }
+
+ steps {
+ withMaven() {
+ sh script: 'mvn ' +
+ params.extraMavenArguments +
+ ' -U -Dmaven.test.failure.ignore=true clean deploy'
+ }
+
+ script {
+ def mavenConsoleIssues = scanForIssues tool: mavenConsole()
+ def javaIssues = scanForIssues tool: java()
+ def javaDocIssues = scanForIssues tool: javaDoc()
+ publishIssues issues: [mavenConsoleIssues, javaIssues, javaDocIssues]
+ }
+ }
+ }
+ }
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..87e16d0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,5 @@
+Apache UIMA Parent POM
+----------------------
+
+This project contains the top-level Maven Parent POM for the Apache UIMA projects. The parent POMs
+in the various sub-projects of Apache UIMA inherit from it.
\ No newline at end of file
diff --git a/README.txt b/README.txt
deleted file mode 100644
index 51909d0..0000000
--- a/README.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-Building from SVN Checkout:
----------------------------
-
-Download and install Maven 3, and Java 1.8, if needed.
-
-Go into the parent-pom directory, and issue the maven command:
-
- mvn clean install
-
-A list of issues fixed is in issuesFixed/jira-report.html, in the source-release distr.
-It's a file generated during the release, and is not in SVN.
-