Merge pull request #2 from apache/feature/UIMA-6293-Migrate-UIMA-Parent-POM-to-GitHub

[UIMA-6293] Migrate UIMA Parent POM to GitHub
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.

-   

diff --git a/pom.xml b/pom.xml
index 1f52c7a..9396bbd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -116,13 +116,13 @@
         

   <scm>

     <connection>

-      scm:svn:https://svn.apache.org/repos/asf/uima/build/trunk/parent-pom

+      scm:git:https://github.com/apache/uima-parent-pom

     </connection>

     <developerConnection>

-      scm:svn:https://svn.apache.org/repos/asf/uima/build/trunk/parent-pom

+      scm:git:https://github.com/apache/uima-parent-pom

     </developerConnection>

     <url>

-      https://svn.apache.org/viewvc/uima/build/trunk/parent-pom

+      https://github.com/apache/uima-parent-pom/tree/master

     </url>

   </scm>