You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2020/11/12 21:53:43 UTC
[uima-build-resources] branch
UIMA-6298-Migrate-UIMA-Build-Resources-to-GitHub updated: [UIMA-6298]
Migrate UIMA Build Resources to GitHub
This is an automated email from the ASF dual-hosted git repository.
rec pushed a commit to branch UIMA-6298-Migrate-UIMA-Build-Resources-to-GitHub
in repository https://gitbox.apache.org/repos/asf/uima-build-resources.git
The following commit(s) were added to refs/heads/UIMA-6298-Migrate-UIMA-Build-Resources-to-GitHub by this push:
new 4d024ed [UIMA-6298] Migrate UIMA Build Resources to GitHub
4d024ed is described below
commit 4d024ed9e5ae5f30c1b1be5794b751afd6fd256c
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Thu Nov 12 22:53:07 2020 +0100
[UIMA-6298] Migrate UIMA Build Resources to GitHub
- Changed SCM from SVN to GIT
- Added Jenkinsfile
- Added .gitignore and .gitattributes
- Added asl.yaml
- Added GitHub pull requeest template
- Added README.md
---
.asf.yaml | 40 ++++++++++++++
.gitattributes | 20 +++++++
.github/PULL_REQUEST_TEMPLATE.md | 18 +++++++
.gitignore | 12 +++++
Jenkinsfile | 110 +++++++++++++++++++++++++++++++++++++++
README.md | 7 +++
pom.xml | 102 +++++++++++++++++-------------------
7 files changed, 256 insertions(+), 53 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..b58f16c
--- /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 Build Resources"
+ 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..0d1559e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.uima/uima-build-resources/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.uima/uima-build-resources/)
+
+Apache UIMA Build Resources
+---------------------------
+
+This repository contains the resources used for the Maven-based build processes of the Apache
+UIMA projects.
diff --git a/pom.xml b/pom.xml
index 4ff05c8..edd73c6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,107 +1,103 @@
<!--
- 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.
+ 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/xsd/maven-4.0.0.xsd">
+<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.uima</groupId>
<artifactId>parent-pom</artifactId>
<version>6</version>
- <relativePath>../parent-pom</relativePath>
+ <relativePath/>
</parent>
-
+
<artifactId>uima-build-resources</artifactId>
<version>6-SNAPSHOT</version>
-
+
<name>Apache UIMA ${project.artifactId}</name>
<description>This Jar contains resources
referred to by maven coordinates,
needed during building
</description>
-
+
<inceptionYear>2010</inceptionYear>
-
+
<scm>
<connection>
- scm:svn:http://svn.apache.org/repos/asf/uima/build/trunk/uima-build-resources
+ scm:git:https://github.com/apache/uima-build-resources
</connection>
<developerConnection>
- scm:svn:https://svn.apache.org/repos/asf/uima/build/trunk/uima-build-resources
+ scm:git:https://github.com/apache/uima-build-resources
</developerConnection>
<url>
- http://svn.apache.org/viewvc/uima/build/trunk/uima-build-resources
+ https://github.com/apache/uima-build-resources/tree/master
</url>
</scm>
-
+
<properties>
- <jiraVersion>12321548</jiraVersion>
+ <jiraVersion>12321548</jiraVersion>
<uimaWebsiteUrl>http://uima.apache.org</uimaWebsiteUrl>
<uimaWebsiteDistributionUrl>scp://people.apache.org/www/uima.apache.org/</uimaWebsiteDistributionUrl>
</properties>
<build>
-
<plugins>
-
- <!-- Call the Bundle goal for the remote-resources plugin -->
+ <!-- Call the Bundle goal for the remote-resources plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
- <executions>
+ <executions>
<execution>
- <goals><goal>bundle</goal></goals>
+ <goals>
+ <goal>bundle</goal>
+ </goals>
</execution>
</executions>
</plugin>
-
- </plugins>
-
+ </plugins>
</build>
-
+
<profiles>
<profile>
<id>apache-release</id>
-
<properties>
<sourceReleaseAssemblyDescriptor>source-release</sourceReleaseAssemblyDescriptor>
</properties>
<build>
<plugins>
-
- <!-- use "standard" source-release assembly -->
- <plugin>
- <artifactId>maven-changes-plugin</artifactId>
- <executions>
- <execution>
- <id>default-cli</id>
- <configuration>
- <fixVersionIds>${jiraVersion}</fixVersionIds>
- <sortColumnNames>Status, Key, Type</sortColumnNames>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <!-- use "standard" source-release assembly -->
+ <plugin>
+ <artifactId>maven-changes-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-cli</id>
+ <configuration>
+ <fixVersionIds>${jiraVersion}</fixVersionIds>
+ <sortColumnNames>Status, Key, Type</sortColumnNames>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</profile>
-
</profiles>
-
</project>
\ No newline at end of file