From 436b4079319aa33b06d565b8df62e2754b233d13 Mon Sep 17 00:00:00 2001 From: yaokai13 Date: Thu, 3 Sep 2020 18:13:03 +0800 Subject: [PATCH] Fix the build error --- ...cript.patch => 0001-Adapt-mvn-script.patch | 0 0002-Invoke-logback-via-reflection.patch | 53 +++ README.en.md | 36 -- README.md | 39 -- ...rt-MNG-6335-Update-Mockito-to-2.12.0.patch | 180 ---------- maven-bash-completion | 332 +++++------------- maven.spec | 198 +++++++---- maven.yaml | 4 + mvn.1 | 33 +- 9 files changed, 279 insertions(+), 596 deletions(-) rename Adapt-mvn-script.patch => 0001-Adapt-mvn-script.patch (100%) create mode 100644 0002-Invoke-logback-via-reflection.patch delete mode 100644 README.en.md delete mode 100644 README.md delete mode 100644 Revert-MNG-6335-Update-Mockito-to-2.12.0.patch create mode 100644 maven.yaml diff --git a/Adapt-mvn-script.patch b/0001-Adapt-mvn-script.patch similarity index 100% rename from Adapt-mvn-script.patch rename to 0001-Adapt-mvn-script.patch diff --git a/0002-Invoke-logback-via-reflection.patch b/0002-Invoke-logback-via-reflection.patch new file mode 100644 index 0000000..71d45e6 --- /dev/null +++ b/0002-Invoke-logback-via-reflection.patch @@ -0,0 +1,53 @@ +From 4e1e32e3a96c6876a22cca6743288b8c8df4adb0 Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Tue, 6 Jun 2017 13:47:43 +0200 +Subject: [PATCH 2/3] Invoke logback via reflection + +--- + .../logging/impl/LogbackConfiguration.java | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java +index 5d9fab7..ced38cb 100644 +--- a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java ++++ b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java +@@ -35,22 +35,31 @@ public class LogbackConfiguration + @Override + public void setRootLoggerLevel( Level level ) + { +- ch.qos.logback.classic.Level value; ++ String value; + switch ( level ) + { + case DEBUG: +- value = ch.qos.logback.classic.Level.DEBUG; ++ value = "DEBUG"; + break; + + case INFO: +- value = ch.qos.logback.classic.Level.INFO; ++ value = "INFO"; + break; + + default: +- value = ch.qos.logback.classic.Level.ERROR; ++ value = "ERROR"; + break; + } +- ( (ch.qos.logback.classic.Logger) LoggerFactory.getLogger( Logger.ROOT_LOGGER_NAME ) ).setLevel( value ); ++ Logger logger = LoggerFactory.getLogger( Logger.ROOT_LOGGER_NAME ); ++ try { ++ Class levelClass = Class.forName("ch.qos.logback.classic.Level"); ++ Object logbackLevel = levelClass.getField(value).get(null); ++ Class loggerClass = Class.forName("ch.qos.logback.classic.Logger"); ++ loggerClass.getMethod("setLevel", new Class[] {levelClass}) ++ .invoke(logger, new Object[] {logbackLevel}); ++ } catch (Exception e) { ++ throw new RuntimeException("Failed to initialize logback configuration", e); ++ } + } + + @Override +-- +2.17.1 + diff --git a/README.en.md b/README.en.md deleted file mode 100644 index a4f7e49..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# maven - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index 185853b..0000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# maven - -#### 介绍 -{**以下是码云平台说明,您可以替换此简介** -码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/Revert-MNG-6335-Update-Mockito-to-2.12.0.patch b/Revert-MNG-6335-Update-Mockito-to-2.12.0.patch deleted file mode 100644 index 24ff301..0000000 --- a/Revert-MNG-6335-Update-Mockito-to-2.12.0.patch +++ /dev/null @@ -1,180 +0,0 @@ -From 6b5e263ebd03be9551c4e6aa394ac2334fff7c03 Mon Sep 17 00:00:00 2001 -From: Michael Simacek -Date: Tue, 13 Mar 2018 11:49:16 +0100 -Subject: [PATCH 3/3] Revert "[ MNG-6335] Update Mockito to 2.12.0" - -This reverts commit a03489b67d04a4b014ff5d1c151b331a39bf100b. ---- - .../DefaultToolchainManagerPrivateTest.java | 15 +++++++++------ - .../toolchain/DefaultToolchainManagerTest.java | 4 ++-- - .../building/DefaultToolchainsBuilderTest.java | 14 +++++++------- - maven-embedder/pom.xml | 1 - - pom.xml | 2 +- - 5 files changed, 19 insertions(+), 17 deletions(-) - -diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java -index c937564..1e48441 100644 ---- a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java -+++ b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java -@@ -20,7 +20,8 @@ package org.apache.maven.toolchain; - */ - - import static org.junit.Assert.assertEquals; --import static org.mockito.ArgumentMatchers.anyString; -+import static org.junit.Assert.fail; -+import static org.mockito.Matchers.anyString; - import static org.mockito.Mockito.mock; - import static org.mockito.Mockito.never; - import static org.mockito.Mockito.verify; -@@ -144,8 +145,9 @@ public class DefaultToolchainManagerPrivateTest - verify( logger, never() ).error( anyString() ); - assertEquals( 2, toolchains.length ); - } -- -- @Test -+ -+ @SuppressWarnings( "unchecked" ) -+ @Test( expected = MisconfiguredToolchainException.class ) - public void testMisconfiguredToolchain() - throws Exception - { -@@ -153,11 +155,12 @@ public class DefaultToolchainManagerPrivateTest - MavenSession session = mock( MavenSession.class ); - MavenExecutionRequest req = new DefaultMavenExecutionRequest(); - when( session.getRequest() ).thenReturn( req ); -+ when(toolchainFactory_basicType.createDefaultToolchain()).thenThrow( MisconfiguredToolchainException.class ); - - // execute -- ToolchainPrivate[] basics = toolchainManager.getToolchainsForType("basic", session); -- -+ toolchainManager.getToolchainsForType( "basic", session ); -+ - // verify -- assertEquals( 0, basics.length ); -+ fail( "Should exit with a MisconfiguredToolchainException" ); - } - } -diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java -index 84444c0..6e85c42 100644 ---- a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java -+++ b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java -@@ -20,6 +20,7 @@ package org.apache.maven.toolchain; - */ - - import static org.junit.Assert.assertEquals; -+import static org.mockito.Matchers.anyMap; - import static org.mockito.Matchers.isA; - import static org.mockito.Mockito.mock; - import static org.mockito.Mockito.verify; -@@ -38,7 +39,6 @@ import org.apache.maven.toolchain.model.ToolchainModel; - import org.codehaus.plexus.logging.Logger; - import org.junit.Before; - import org.junit.Test; --import org.mockito.ArgumentMatchers; - import org.mockito.InjectMocks; - import org.mockito.Mock; - import org.mockito.MockitoAnnotations; -@@ -142,7 +142,7 @@ public class DefaultToolchainManagerTest - executionRequest.setToolchains( toolchainModels ); - when( session.getRequest() ).thenReturn( executionRequest ); - ToolchainPrivate basicPrivate = mock( ToolchainPrivate.class ); -- when( basicPrivate.matchesRequirements( ArgumentMatchers.anyMap() ) ).thenReturn( false ).thenReturn( true ); -+ when( basicPrivate.matchesRequirements( anyMap() ) ).thenReturn( false ).thenReturn( true ); - when( toolchainFactory_basicType.createToolchain( isA( ToolchainModel.class ) ) ).thenReturn( basicPrivate ); - - List toolchains = -diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java -index fc530df..80fca09 100644 ---- a/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java -+++ b/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java -@@ -21,7 +21,8 @@ package org.apache.maven.toolchain.building; - - import static org.junit.Assert.assertEquals; - import static org.junit.Assert.assertNotNull; --import static org.mockito.ArgumentMatchers.any; -+import static org.mockito.Matchers.any; -+import static org.mockito.Matchers.anyMap; - import static org.mockito.Mockito.when; - - import java.io.IOException; -@@ -34,7 +35,6 @@ import org.apache.maven.toolchain.model.PersistedToolchains; - import org.apache.maven.toolchain.model.ToolchainModel; - import org.junit.Before; - import org.junit.Test; --import org.mockito.ArgumentMatchers; - import org.mockito.InjectMocks; - import org.mockito.Mock; - import org.mockito.MockitoAnnotations; -@@ -78,7 +78,7 @@ public class DefaultToolchainsBuilderTest - toolchain.setType( "TYPE" ); - toolchain.addProvide( "key", "user_value" ); - userResult.addToolchain( toolchain ); -- when( toolchainsReader.read( any( InputStream.class ), ArgumentMatchers.anyMap()) ).thenReturn( userResult ); -+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenReturn( userResult ); - - ToolchainsBuildingResult result = toolchainBuilder.build( request ); - assertNotNull( result.getEffectiveToolchains() ); -@@ -101,7 +101,7 @@ public class DefaultToolchainsBuilderTest - toolchain.setType( "TYPE" ); - toolchain.addProvide( "key", "global_value" ); - globalResult.addToolchain( toolchain ); -- when( toolchainsReader.read( any( InputStream.class ), ArgumentMatchers.anyMap()) ).thenReturn( globalResult ); -+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenReturn( globalResult ); - - ToolchainsBuildingResult result = toolchainBuilder.build( request ); - assertNotNull( result.getEffectiveToolchains() ); -@@ -131,7 +131,7 @@ public class DefaultToolchainsBuilderTest - globalToolchain.setType( "TYPE" ); - globalToolchain.addProvide( "key", "global_value" ); - globalResult.addToolchain( globalToolchain ); -- when( toolchainsReader.read( any( InputStream.class ), ArgumentMatchers.anyMap()) ).thenReturn( globalResult ).thenReturn( userResult ); -+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenReturn( globalResult ).thenReturn( userResult ); - - ToolchainsBuildingResult result = toolchainBuilder.build( request ); - assertNotNull( result.getEffectiveToolchains() ); -@@ -150,7 +150,7 @@ public class DefaultToolchainsBuilderTest - ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest(); - request.setGlobalToolchainsSource( new StringSource( "" ) ); - ToolchainsParseException parseException = new ToolchainsParseException( "MESSAGE", 4, 2 ); -- when( toolchainsReader.read( any( InputStream.class ), ArgumentMatchers.anyMap()) ).thenThrow( parseException ); -+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenThrow( parseException ); - - try - { -@@ -169,7 +169,7 @@ public class DefaultToolchainsBuilderTest - ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest(); - request.setGlobalToolchainsSource( new StringSource( "", "LOCATION" ) ); - IOException ioException = new IOException( "MESSAGE" ); -- when( toolchainsReader.read( any( InputStream.class ), ArgumentMatchers.anyMap()) ).thenThrow( ioException ); -+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenThrow( ioException ); - - try - { -diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml -index 8a00565..2a9668b 100644 ---- a/maven-embedder/pom.xml -+++ b/maven-embedder/pom.xml -@@ -141,7 +141,6 @@ under the License. - - org.mockito - mockito-core -- test - - - org.fusesource.jansi -diff --git a/pom.xml b/pom.xml -index ef1d0b0..77b3395 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -53,7 +53,7 @@ under the License. - 1.4 - 3.5 - 4.12 -- 2.12.0 -+ 1.10.19 - 1.7.1 - 1.24 - 3.1.0 --- -2.17.1 - diff --git a/maven-bash-completion b/maven-bash-completion index 7abb731..0ca36fa 100644 --- a/maven-bash-completion +++ b/maven-bash-completion @@ -1,254 +1,90 @@ -function_exists() +_m2_make_goals() { - declare -F $1 > /dev/null - return $? + plugin=$1 + mojos=$2 + for mojo in $mojos + do + export goals="$goals $plugin:$mojo" + done } -function_exists _get_comp_words_by_ref || -_get_comp_words_by_ref () +_m2_complete() { - local exclude cur_ words_ cword_; - if [ "$1" = "-n" ]; then - exclude=$2; - shift 2; - fi; - __git_reassemble_comp_words_by_ref "$exclude"; - cur_=${words_[cword_]}; - while [ $# -gt 0 ]; do - case "$1" in - cur) - cur=$cur_ - ;; - prev) - prev=${words_[$cword_-1]} - ;; - words) - words=("${words_[@]}") - ;; - cword) - cword=$cword_ - ;; - esac; - shift; - done + local cur goals + + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + case "${prev}" in + -f | --file|-l|--log-file) + COMPREPLY=( $(compgen -f ${cur}) ) + return 0 + ;; + *);; + esac + + + goals='clean compile test install package deploy site verify' + if [[ ${cur} == -* ]] ; then + goals="$goals -am --also-make + -amd --also-make-dependents + -B --batch-mode + -C --strict-checksums + -c --lax-checksums + -cpu --check-plugin-updates + -D --define + -e --errors + -emp --encrypt-master-password + -ep --encrypt-password + -f --file + -fae --fail-at-end + -ff --fail-fast + -fn --fail-never + -gs --global-settings + -h --help + -l --log-file + -N --non-recursive + -npr --no-plugin-registry + -npu --no-plugin-updates + -nsu --no-snapshot-updates + -o --offline + -P --activate-profiles + -pl --projects + -q --quiet + -rf --resume-from + -s --settings + -T --threads + -t --toolchains + -U --update-snapshots + -up --update-plugins + -V --show-version + -v --version + -X --debug + -Dmaven.test.skip=true + -Dmaven.compiler.source=1.5 + -Dmaven.compiler.source=1.6 + -Dmaven.compiler.source=1.7 + -Dmaven.compiler.target=1.5 + -Dmaven.compiler.target=1.6 + -Dmaven.compiler.target=1.7 + -Dproject.build.sourceEncoding=UTF-8 + -Dmaven.repo.local= + -Dmaven.local.depmap.file= + -Dmaven.local.debug=true + -Dmaven.local.mode=true" + fi + + goals=$goals _m2_make_goals "eclipse" "eclipse" + goals=$goals _m2_make_goals "idea" "idea" + goals=$goals _m2_make_goals "assembly" "assembly" + goals=$goals _m2_make_goals "plexus" "app bundle-application bundle-runtime descriptor runtime service" + goals=$goals _m2_make_goals "dependency" "analyze analyze-dep-mgt analyze-only analyze-report analyze-duplicate + build-classpath copy copy-dependencies get go-offline list properties + purge-local-repository resolve resolve-plugins sources tree unpack + unpack-dependencies" + cur=`echo $cur | sed 's/\\\\//g'` + COMPREPLY=($(compgen -W "${goals}" -- ${cur} | sed 's/\\\\//g') ) } -function_exists __ltrim_colon_completions || -__ltrim_colon_completions() -{ - if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then - # Remove colon-word prefix from COMPREPLY items - local colon_word=${1%${1##*:}} - local i=${#COMPREPLY[*]} - while [[ $((--i)) -ge 0 ]]; do - COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"} - done - fi -} - -function_exists __find_mvn_projects || -__find_mvn_projects() -{ - find . -name 'pom.xml' -not -path '*/target/*' -prune | while read LINE ; do - local withoutPom=${LINE%/pom.xml} - local module=${withoutPom#./} - if [[ -z ${module} ]]; then - echo "." - else - echo ${module} - fi - done -} - -function_exists _realpath || -_realpath () -{ - if [[ -f "$1" ]] - then - # file *must* exist - if cd "$(echo "${1%/*}")" &>/dev/null - then - # file *may* not be local - # exception is ./file.ext - # try 'cd .; cd -;' *works!* - local tmppwd="$PWD" - cd - &>/dev/null - else - # file *must* be local - local tmppwd="$PWD" - fi - else - # file *cannot* exist - return 1 # failure - fi - - # reassemble realpath - echo "$tmppwd"/"${1##*/}" - return 1 #success -} - -function_exists __pom_hierarchy || -__pom_hierarchy() -{ - local pom=`_realpath "pom.xml"` - POM_HIERARCHY+=("$pom") - while [ -n "$pom" ] && grep -q "" "$pom"; do - ## look for a new relativePath for parent pom.xml - local parent_pom_relative=`grep -e ".*" "$pom" | sed 's/.*//' | sed 's/<\/relativePath>.*//g'` - - ## is present but not defined, assume ../pom.xml - if [ -z "$parent_pom_relative" ]; then - parent_pom_relative="../pom.xml" - fi - - ## if pom exists continue else break - parent_pom=`_realpath "${pom%/*}/$parent_pom_relative"` - if [ -n "$parent_pom" ]; then - pom=$parent_pom - else - break - fi - POM_HIERARCHY+=("$pom") - done -} - -_mvn() -{ - local cur prev - COMPREPLY=() - POM_HIERARCHY=() - __pom_hierarchy - _get_comp_words_by_ref -n : cur prev - - local opts="-am|-amd|-B|-C|-c|-cpu|-D|-e|-emp|-ep|-f|-fae|-ff|-fn|-gs|-h|-l|-N|-npr|-npu|-nsu|-o|-P|-pl|-q|-rf|-s|-T|-t|-U|-up|-V|-v|-X" - local long_opts="--also-make|--also-make-dependents|--batch-mode|--strict-checksums|--lax-checksums|--check-plugin-updates|--define|--errors|--encrypt-master-password|--encrypt-password|--file|--fail-at-end|--fail-fast|--fail-never|--global-settings|--help|--log-file|--non-recursive|--no-plugin-registry|--no-plugin-updates|--no-snapshot-updates|--offline|--activate-profiles|--projects|--quiet|--resume-from|--settings|--threads|--toolchains|--update-snapshots|--update-plugins|--show-version|--version|--debug" - - local common_clean_lifecycle="pre-clean|clean|post-clean" - local common_default_lifecycle="validate|initialize|generate-sources|process-sources|generate-resources|process-resources|compile|process-classes|generate-test-sources|process-test-sources|generate-test-resources|process-test-resources|test-compile|process-test-classes|test|prepare-package|package|pre-integration-test|integration-test|post-integration-test|verify|install|deploy" - local common_site_lifecycle="pre-site|site|post-site|site-deploy" - local common_lifecycle_phases="${common_clean_lifecycle}|${common_default_lifecycle}|${common_site_lifecycle}" - - local plugin_goals_appengine="appengine:backends_configure|appengine:backends_delete|appengine:backends_rollback|appengine:backends_start|appengine:backends_stop|appengine:backends_update|appengine:debug|appengine:devserver|appengine:devserver_start|appengine:devserver_stop|appengine:endpoints_get_client_lib|appengine:endpoints_get_discovery_doc|appengine:enhance|appengine:rollback|appengine:set_default_version|appengine:start_module_version|appengine:stop_module_version|appengine:update|appengine:update_cron|appengine:update_dos|appengine:update_indexes|appengine:update_queues|appengine:vacuum_indexes" - local plugin_goals_android="android:apk|android:apklib|android:clean|android:deploy|android:deploy-dependencies|android:dex|android:emulator-start|android:emulator-stop|android:emulator-stop-all|android:generate-sources|android:help|android:instrument|android:manifest-update|android:pull|android:push|android:redeploy|android:run|android:undeploy|android:unpack|android:version-update|android:zipalign|android:devices" - local plugin_goals_ant="ant:ant|ant:clean" - local plugin_goals_antrun="antrun:run" - local plugin_goals_archetype="archetype:generate|archetype:create-from-project|archetype:crawl" - local plugin_goals_assembly="assembly:single|assembly:assembly" - local plugin_goals_build_helper="build-helper:add-resource|build-helper:add-source|build-helper:add-test-resource|build-helper:add-test-source|build-helper:attach-artifact|build-helper:bsh-property|build-helper:cpu-count|build-helper:help|build-helper:local-ip|build-helper:maven-version|build-helper:parse-version|build-helper:regex-properties|build-helper:regex-property|build-helper:released-version|build-helper:remove-project-artifact|build-helper:reserve-network-port|build-helper:timestamp-property" - local plugin_goals_buildnumber="buildnumber:create|buildnumber:create-timestamp|buildnumber:help|buildnumber:hgchangeset" - local plugin_goals_cargo="cargo:start|cargo:run|cargo:stop|cargo:deploy|cargo:undeploy|cargo:help" - local plugin_goals_checkstyle="checkstyle:checkstyle|checkstyle:check" - local plugin_goals_cobertura="cobertura:cobertura" - local plugin_goals_findbugs="findbugs:findbugs|findbugs:gui|findbugs:help" - local plugin_goals_dependency="dependency:analyze|dependency:analyze-dep-mgt|dependency:analyze-duplicate|dependency:analyze-only|dependency:analyze-report|dependency:build-classpath|dependency:copy|dependency:copy-dependencies|dependency:get|dependency:go-offline|dependency:help|dependency:list|dependency:list-repositories|dependency:properties|dependency:purge-local-repository|dependency:resolve|dependency:resolve-plugins|dependency:sources|dependency:tree|dependency:unpack|dependency:unpack-dependencies" - local plugin_goals_deploy="deploy:deploy-file" - local plugin_goals_ear="ear:ear|ear:generate-application-xml" - local plugin_goals_eclipse="eclipse:clean|eclipse:eclipse" - local plugin_goals_ejb="ejb:ejb" - local plugin_goals_enforcer="enforcer:enforce|enforcer:display-info" - local plugin_goals_exec="exec:exec|exec:java" - local plugin_goals_failsafe="failsafe:integration-test|failsafe:verify" - local plugin_goals_flyway="flyway:migrate|flyway:clean|flyway:info|flyway:validate|flyway:baseline|flyway:repair" - local plugin_goals_gpg="gpg:sign|gpg:sign-and-deploy-file" - local plugin_goals_grails="grails:clean|grails:config-directories|grails:console|grails:create-controller|grails:create-domain-class|grails:create-integration-test|grails:create-pom|grails:create-script|grails:create-service|grails:create-tag-lib|grails:create-unit-test|grails:exec|grails:generate-all|grails:generate-controller|grails:generate-views|grails:help|grails:init|grails:init-plugin|grails:install-templates|grails:list-plugins|grails:maven-clean|grails:maven-compile|grails:maven-functional-test|grails:maven-grails-app-war|grails:maven-test|grails:maven-war|grails:package|grails:package-plugin|grails:run-app|grails:run-app-https|grails:run-war|grails:set-version|grails:test-app|grails:upgrade|grails:validate|grails:validate-plugin|grails:war" - local plugin_goals_gwt="gwt:browser|gwt:clean|gwt:compile|gwt:compile-report|gwt:css|gwt:debug|gwt:eclipse|gwt:eclipseTest|gwt:generateAsync|gwt:help|gwt:i18n|gwt:mergewebxml|gwt:resources|gwt:run|gwt:run-codeserver|gwt:sdkInstall|gwt:source-jar|gwt:soyc|gwt:test" - local plugin_goals_help="help:active-profiles|help:all-profiles|help:describe|help:effective-pom|help:effective-settings|help:evaluate|help:expressions|help:help|help:system" - local plugin_goals_hibernate3="hibernate3:hbm2ddl|hibernate3:help" - local plugin_goals_idea="idea:clean|idea:idea" - local plugin_goals_install="install:install-file" - local plugin_goals_jacoco="jacoco:check|jacoco:dump|jacoco:help|jacoco:instrument|jacoco:merge|jacoco:prepare-agent|jacoco:prepare-agent-integration|jacoco:report|jacoco:report-integration|jacoco:restore-instrumented-classes" - local plugin_goals_javadoc="javadoc:javadoc|javadoc:jar|javadoc:aggregate" - local plugin_goals_jboss="jboss:start|jboss:stop|jboss:deploy|jboss:undeploy|jboss:redeploy" - local plugin_goals_jboss_as="jboss-as:add-resource|jboss-as:deploy|jboss-as:deploy-only|jboss-as:deploy-artifact|jboss-as:redeploy|jboss-as:redeploy-only|jboss-as:undeploy|jboss-as:undeploy-artifact|jboss-as:run|jboss-as:start|jboss-as:shutdown|jboss-as:execute-commands" - local plugin_goals_jetty="jetty:run|jetty:run-exploded|jetty:run-forked" - local plugin_goals_jxr="jxr:jxr" - local plugin_goals_license="license:format|license:check" - local plugin_goals_liquibase="liquibase:changelogSync|liquibase:changelogSyncSQL|liquibase:clearCheckSums|liquibase:dbDoc|liquibase:diff|liquibase:dropAll|liquibase:help|liquibase:migrate|liquibase:listLocks|liquibase:migrateSQL|liquibase:releaseLocks|liquibase:rollback|liquibase:rollbackSQL|liquibase:status|liquibase:tag|liquibase:update|liquibase:updateSQL|liquibase:updateTestingRollback" - local plugin_goals_nexus_staging="nexus-staging:close|nexus-staging:deploy|nexus-staging:deploy-staged|nexus-staging:deploy-staged-repository|nexus-staging:drop|nexus-staging:help|nexus-staging:promote|nexus-staging:rc-close|nexus-staging:rc-drop|nexus-staging:rc-list|nexus-staging:rc-list-profiles|nexus-staging:rc-promote|nexus-staging:rc-release|nexus-staging:release" - local plugin_goals_pmd="pmd:pmd|pmd:cpd|pmd:check|pmd:cpd-check" - local plugin_goals_properties="properties:read-project-properties|properties:write-project-properties|properties:write-active-profile-properties|properties:set-system-properties" - local plugin_goals_release="release:clean|release:prepare|release:rollback|release:perform|release:stage|release:branch|release:update-versions" - local plugin_goals_repository="repository:bundle-create|repository:bundle-pack|repository:help" - local plugin_goals_scala="scala:add-source|scala:cc|scala:cctest|scala:compile|scala:console|scala:doc|scala:doc-jar|scala:help|scala:run|scala:script|scala:testCompile" - local plugin_goals_scm="scm:add|scm:checkin|scm:checkout|scm:update|scm:status" - local plugin_goals_site="site:site|site:deploy|site:run|site:stage|site:stage-deploy" - local plugin_goals_sonar="sonar:sonar|sonar:help" - local plugin_goals_source="source:aggregate|source:jar|source:jar-no-fork" - local plugin_goals_surefire="surefire:test" - local plugin_goals_tomcat6="tomcat6:help|tomcat6:run|tomcat6:run-war|tomcat6:run-war-only|tomcat6:stop|tomcat6:deploy|tomcat6:undeploy" - local plugin_goals_tomcat7="tomcat7:help|tomcat7:run|tomcat7:run-war|tomcat7:run-war-only|tomcat7:deploy" - local plugin_goals_tomcat="tomcat:help|tomcat:start|tomcat:stop|tomcat:deploy|tomcat:undeploy" - local plugin_goals_liberty="liberty:create-server|liberty:start-server|liberty:stop-server|liberty:run-server|liberty:deploy|liberty:undeploy|liberty:java-dump-server|liberty:dump-server|liberty:package-server" - local plugin_goals_versions="versions:display-dependency-updates|versions:display-plugin-updates|versions:display-property-updates|versions:update-parent|versions:update-properties|versions:update-child-modules|versions:lock-snapshots|versions:unlock-snapshots|versions:resolve-ranges|versions:set|versions:use-releases|versions:use-next-releases|versions:use-latest-releases|versions:use-next-snapshots|versions:use-latest-snapshots|versions:use-next-versions|versions:use-latest-versions|versions:commit|versions:revert" - local plugin_goals_vertx="vertx:init|vertx:runMod|vertx:pullInDeps|vertx:fatJar" - local plugin_goals_war="war:war|war:exploded|war:inplace|war:manifest" - local plugin_goals_spring_boot="spring-boot:run|spring-boot:repackage" - local plugin_goals_jgitflow="jgitflow:feature-start|jgitflow:feature-finish|jgitflow:release-start|jgitflow:release-finish|jgitflow:hotfix-start|jgitflow:hotfix-finish|jgitflow:build-number" - local plugin_goals_wildfly="wildfly:add-resource|wildfly:deploy|wildfly:deploy-only|wildfly:deploy-artifact|wildfly:redeploy|wildfly:redeploy-only|wildfly:undeploy|wildfly:undeploy-artifact|wildfly:run|wildfly:start|wildfly:shutdown|wildfly:execute-commands" - - ## some plugin (like jboss-as) has '-' which is not allowed in shell var name, to use '_' then replace - local common_plugins=`compgen -v | grep "^plugin_goals_.*" | sed 's/plugin_goals_//g' | tr '_' '-' | tr '\n' '|'` - - local options="-Dmaven.test.skip=true|-DskipTests|-DskipITs|-Dtest|-Dit.test|-DfailIfNoTests|-Dmaven.surefire.debug|-DenableCiProfile|-Dpmd.skip=true|-Dcheckstyle.skip=true|-Dtycho.mode=maven|-Dmaven.javadoc.skip=true|-Dgwt.compiler.skip|-Dcobertura.skip=true|-Dfindbugs.skip=true||-DperformRelease=true|-Dgpg.skip=true|-DforkCount" - - local profile_settings=`[ -e ~/.m2/settings.xml ] && grep -e "" -A 1 ~/.m2/settings.xml | grep -e ".*" | sed 's/.*//' | sed 's/<\/id>.*//g' | tr '\n' '|' ` - - local profiles="${profile_settings}|" - for item in ${POM_HIERARCHY[*]} - do - local profile_pom=`[ -e $item ] && grep -e "" -A 1 $item | grep -e ".*" | sed 's/.*//' | sed 's/<\/id>.*//g' | tr '\n' '|' ` - local profiles="${profiles}|${profile_pom}" - done - - local IFS=$'|\n' - - if [[ ${cur} == -D* ]] ; then - COMPREPLY=( $(compgen -S ' ' -W "${options}" -- ${cur}) ) - - elif [[ ${prev} == -P ]] ; then - if [[ ${cur} == *,* ]] ; then - COMPREPLY=( $(compgen -S ',' -W "${profiles}" -P "${cur%,*}," -- ${cur##*,}) ) - else - COMPREPLY=( $(compgen -S ',' -W "${profiles}" -- ${cur}) ) - fi - - elif [[ ${cur} == --* ]] ; then - COMPREPLY=( $(compgen -W "${long_opts}" -S ' ' -- ${cur}) ) - - elif [[ ${cur} == -* ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -S ' ' -- ${cur}) ) - - elif [[ ${prev} == -pl ]] ; then - if [[ ${cur} == *,* ]] ; then - COMPREPLY=( $(compgen -W "$(__find_mvn_projects)" -S ',' -P "${cur%,*}," -- ${cur##*,}) ) - else - COMPREPLY=( $(compgen -W "$(__find_mvn_projects)" -S ',' -- ${cur}) ) - fi - - elif [[ ${prev} == -rf || ${prev} == --resume-from ]] ; then - COMPREPLY=( $(compgen -d -S ' ' -- ${cur}) ) - - elif [[ ${cur} == *:* ]] ; then - local plugin - for plugin in $common_plugins; do - if [[ ${cur} == ${plugin}:* ]]; then - ## note that here is an 'unreplace', see the comment at common_plugins - var_name="plugin_goals_${plugin//-/_}" - COMPREPLY=( $(compgen -W "${!var_name}" -S ' ' -- ${cur}) ) - fi - done - - else - if echo "${common_lifecycle_phases}" | tr '|' '\n' | grep -q -e "^${cur}" ; then - COMPREPLY=( $(compgen -S ' ' -W "${common_lifecycle_phases}" -- ${cur}) ) - elif echo "${common_plugins}" | tr '|' '\n' | grep -q -e "^${cur}"; then - COMPREPLY=( $(compgen -S ':' -W "${common_plugins}" -- ${cur}) ) - fi - fi - - __ltrim_colon_completions "$cur" -} - -complete -o default -F _mvn -o nospace mvn -complete -o default -F _mvn -o nospace mvnDebug -complete -o default -F _mvn -o nospace mvnw +complete -F _m2_complete -o filenames mvn diff --git a/maven.spec b/maven.spec index 5dead36..2868858 100644 --- a/maven.spec +++ b/maven.spec @@ -1,101 +1,136 @@ +%bcond_without logback +%global bundled_slf4j_version 1.7.25 %global homedir %{_datadir}/%{name}%{?maven_version_suffix} %global confdir %{_sysconfdir}/%{name}%{?maven_version_suffix} - -Name: maven -Epoch: 1 -Version: 3.5.4 -Release: 5 -Summary: A tool can be used for building and managing any Java-based project -License: ASL 2.0 -URL: http://maven.apache.org/ -Source0: http://archive.apache.org/dist/%{name}/%{name}-3/%{version}/source/apache-%{name}-%{version}-src.tar.gz -Source1: maven-bash-completion -Source2: mvn.1 - -Patch0000: Revert-MNG-6335-Update-Mockito-to-2.12.0.patch -Patch0001: Adapt-mvn-script.patch - -BuildRequires: maven-local mvn(com.google.guava:guava:20.0) mvn(com.google.inject:guice::no_aop:) mvn(commons-cli:commons-cli) -BuildRequires: mvn(commons-jxpath:commons-jxpath) mvn(javax.annotation:jsr250-api) mvn(javax.inject:javax.inject) -BuildRequires: mvn(junit:junit) mvn(org.apache.commons:commons-lang3) mvn(org.apache.maven:maven-parent:pom:) -BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin) mvn(org.apache.maven.plugins:maven-dependency-plugin) -BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-api) mvn(org.apache.maven.resolver:maven-resolver-connector-basic) -BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-impl) mvn(org.apache.maven.resolver:maven-resolver-spi) -BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-transport-wagon) mvn(org.apache.maven.resolver:maven-resolver-util) -BuildRequires: mvn(org.apache.maven.shared:maven-shared-utils) mvn(org.apache.maven.wagon:wagon-file) -BuildRequires: mvn(org.apache.maven.wagon:wagon-http::shaded:) mvn(org.apache.maven.wagon:wagon-provider-api) -BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin) mvn(org.codehaus.mojo:build-helper-maven-plugin) -BuildRequires: mvn(org.codehaus.plexus:plexus-classworlds) mvn(org.codehaus.plexus:plexus-component-annotations) -BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata) mvn(org.codehaus.plexus:plexus-interpolation) -BuildRequires: mvn(org.codehaus.plexus:plexus-utils) mvn(org.eclipse.sisu:org.eclipse.sisu.inject) -BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.plexus) mvn(org.eclipse.sisu:sisu-maven-plugin) -BuildRequires: mvn(org.fusesource.jansi:jansi) mvn(org.mockito:mockito-core) mvn(org.slf4j:jcl-over-slf4j) -BuildRequires: mvn(org.slf4j:slf4j-api) mvn(org.slf4j:slf4j-simple) mvn(org.sonatype.plexus:plexus-cipher) -BuildRequires: mvn(org.sonatype.plexus:plexus-sec-dispatcher) mvn(xmlunit:xmlunit) slf4j-sources = 1.7.25 -BuildRequires: mvn(ch.qos.logback:logback-classic) -Requires: aopalliance apache-commons-cli apache-commons-codec apache-commons-io apache-commons-lang3 -Requires: apache-commons-logging atinject cdi-api geronimo-annotation google-guice guava20 hawtjni-runtime -Requires: httpcomponents-client httpcomponents-core jansi jansi-native jcl-over-slf4j maven-resolver-api -Requires: maven-resolver-connector-basic maven-resolver-impl maven-resolver-spi maven-resolver-transport-wagon -Requires: maven-resolver-util maven-shared-utils maven-wagon-file maven-wagon-http maven-wagon-http-shared -Requires: maven-wagon-provider-api plexus-cipher plexus-classworlds plexus-containers-component-annotations -Requires: plexus-interpolation plexus-sec-dispatcher plexus-utils sisu-inject sisu-plexus slf4j -OrderWithRequires: xmvn-minimal -Provides: %{name}-lib = %{epoch}:%{version}-%{release} bundled(slf4j) = 1.7.25 config(maven-lib) = %{epoch}:%{version}-%{release} -Obsoletes: %{name}-lib < %{epoch}:%{version}-%{release} -Requires(post): chkconfig -Requires(postun): chkconfig -BuildArch: noarch +Name: maven +Epoch: 1 +Version: 3.5.4 +Release: 6 +Summary: Java project management and project comprehension tool +License: ASL 2.0 and MIT +URL: http://maven.apache.org/ +Source0: http://archive.apache.org/dist/maven/maven-3/%{version}/source/apache-maven-%{version}-src.tar.gz +Source1: maven-bash-completion +Source2: mvn.1 +Patch1: 0001-Adapt-mvn-script.patch +Patch2: 0002-Invoke-logback-via-reflection.patch +BuildRequires: maven-local mvn(com.google.guava:guava:20.0) +BuildRequires: mvn(com.google.inject:guice::no_aop:) mvn(commons-cli:commons-cli) +BuildRequires: mvn(commons-jxpath:commons-jxpath) mvn(javax.annotation:jsr250-api) +BuildRequires: mvn(javax.inject:javax.inject) mvn(junit:junit) +BuildRequires: mvn(org.apache.commons:commons-lang3) mvn(org.apache.maven:maven-parent:pom:) +BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-api) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-connector-basic) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-impl) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-spi) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-transport-wagon) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-util) +BuildRequires: mvn(org.apache.maven.shared:maven-shared-utils) +BuildRequires: mvn(org.apache.maven.wagon:wagon-file) +BuildRequires: mvn(org.apache.maven.wagon:wagon-http::shaded:) +BuildRequires: mvn(org.apache.maven.wagon:wagon-provider-api) +BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin) +BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) +BuildRequires: mvn(org.codehaus.plexus:plexus-classworlds) +BuildRequires: mvn(org.codehaus.plexus:plexus-component-annotations) +BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata) +BuildRequires: mvn(org.codehaus.plexus:plexus-interpolation) +BuildRequires: mvn(org.codehaus.plexus:plexus-utils) +BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.inject) +BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.plexus) +BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin) mvn(org.fusesource.jansi:jansi) +BuildRequires: mvn(org.mockito:mockito-core) >= 2 mvn(org.slf4j:jcl-over-slf4j) +BuildRequires: mvn(org.slf4j:slf4j-api) mvn(org.slf4j:slf4j-simple) +BuildRequires: mvn(org.sonatype.plexus:plexus-cipher) +BuildRequires: mvn(org.sonatype.plexus:plexus-sec-dispatcher) mvn(xmlunit:xmlunit) +BuildRequires: slf4j-sources = %{bundled_slf4j_version} +%if %{with logback} +BuildRequires: mvn(ch.qos.logback:logback-classic) +%endif +Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Requires(post): /usr/sbin/update-alternatives +Requires(postun): /usr/sbin/update-alternatives +Requires: java-devel +Requires: aopalliance apache-commons-cli apache-commons-codec apache-commons-io +Requires: apache-commons-lang3 apache-commons-logging atinject cdi-api +Requires: geronimo-annotation google-guice guava20 hawtjni-runtime httpcomponents-client +Requires: httpcomponents-core jansi jansi-native jcl-over-slf4j maven-resolver-api +Requires: maven-resolver-connector-basic maven-resolver-impl maven-resolver-spi +Requires: maven-resolver-transport-wagon maven-resolver-util maven-shared-utils +Requires: maven-wagon-file maven-wagon-http maven-wagon-http-shared +Requires: maven-wagon-provider-api plexus-cipher plexus-classworlds +Requires: plexus-containers-component-annotations plexus-interpolation +Requires: plexus-sec-dispatcher plexus-utils sisu-inject sisu-plexus slf4j +BuildArch: noarch %description -Apache Maven is a software project management and comprehension tool. Based on the concept of a project object -model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. +Maven is a software project management and comprehension tool. Based on the +concept of a project object model (POM), Maven can manage a project's build, +reporting and documentation from a central piece of information. -%package help -Summary: Help package for maven -Provides: %{name}-javadoc = %{epoch}:%{version}-%{release} -Obsoletes: %{name}-javadoc < %{epoch}:%{version}-%{release} +%package lib +Summary: Core part of Maven +OrderWithRequires: xmvn-minimal +Requires: javapackages-tools +Provides: bundled(slf4j) = %{bundled_slf4j_version} -%description help -This package conatins API and man documentation for maven. +%description lib +Core part of Apache Maven that can be used as a library. + +%package javadoc +Summary: API documentation for %{name} + +%description javadoc +%{summary}. %prep -%autosetup -n apache-%{name}-%{version} -p1 - +%setup -q -n apache-%{name}-%{version} +%patch1 -p1 find -name '*.jar' -not -path '*/test/*' -delete find -name '*.class' -delete find -name '*.bat' -delete sed -i 's:\r::' apache-maven/src/conf/settings.xml rm apache-maven/src/main/appended-resources/META-INF/LICENSE.vm - %pom_remove_plugin -r :animal-sniffer-maven-plugin %pom_remove_plugin -r :apache-rat-plugin %pom_remove_plugin -r :maven-site-plugin %pom_remove_plugin -r :buildnumber-maven-plugin sed -i " /buildNumber=/ { - s/=.*/=openEuler %{version}-%{release}/ + s/=.*/=Red Hat %{version}-%{release}/ + s/%{dist}$// } /timestamp=/ d " `find -name build.properties` - %mvn_package :apache-maven __noinstall +%if %{without logback} +%pom_remove_dep -r :logback-classic +%patch2 -p1 +%endif %mvn_alias :maven-resolver-provider :maven-aether-provider %build %mvn_build -- -Dproject.build.sourceEncoding=UTF-8 -install -d m2home -cd m2home -tar --delay-directory-restore -xvf ../apache-maven/target/*tar.gz +mkdir m2home +(cd m2home + tar --delay-directory-restore -xvf ../apache-maven/target/*tar.gz +) %install %mvn_install export M2_HOME=$(pwd)/m2home/apache-maven-%{version}%{?ver_add} -install -d -m 755 %{buildroot}%{homedir}/conf %{buildroot}%{confdir} %{buildroot}%{_datadir}/bash-completion/completions/ +install -d -m 755 %{buildroot}%{homedir}/conf +install -d -m 755 %{buildroot}%{confdir} +install -d -m 755 %{buildroot}%{_datadir}/bash-completion/completions/ cp -a $M2_HOME/{bin,lib,boot} %{buildroot}%{homedir}/ xmvn-subst -R %{buildroot} -s %{buildroot}%{homedir} -build-jar-repository -s -p %{buildroot}%{homedir}/lib commons-{codec,logging} httpcomponents/{httpclient,httpcore} maven-wagon/http-shared -rm %{buildroot}%{homedir}/lib/jboss-interceptors*.jar %{buildroot}%{homedir}/lib/javax.el-api*.jar +build-jar-repository -s -p %{buildroot}%{homedir}/lib \ + commons-{codec,logging} httpcomponents/{httpclient,httpcore} maven-wagon/http-shared +rm %{buildroot}%{homedir}/lib/jboss-interceptors*.jar +rm %{buildroot}%{homedir}/lib/javax.el-api*.jar +ln -s %{_jnidir}/jansi-native/jansi-linux.jar %{buildroot}%{homedir}/lib/ install -p -m 644 %{SOURCE2} %{buildroot}%{homedir}/bin/ gzip -9 %{buildroot}%{homedir}/bin/mvn.1 install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/bash-completion/completions/mvn%{?maven_version_suffix} @@ -105,8 +140,10 @@ mv $M2_HOME/conf/settings.xml %{buildroot}%{confdir}/ ln -sf %{confdir}/settings.xml %{buildroot}%{homedir}/conf/settings.xml mv $M2_HOME/conf/logging %{buildroot}%{confdir}/ ln -sf %{confdir}/logging %{buildroot}%{homedir}/conf -install -d -m 755 %{buildroot}%{_bindir}/ %{buildroot}%{_mandir}/man1/ -touch %{buildroot}%{_bindir}/{mvn,mvnDebug} %{buildroot}%{_mandir}/man1/{mvn,mvnDebug}.1 +install -d -m 755 %{buildroot}%{_bindir}/ +install -d -m 755 %{buildroot}%{_mandir}/man1/ +touch %{buildroot}%{_bindir}/{mvn,mvnDebug} +touch %{buildroot}%{_mandir}/man1/{mvn,mvnDebug}.1 %post update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alternatives_priority}0 \ @@ -115,23 +152,32 @@ update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alt --slave %{_mandir}/man1/mvnDebug.1.gz mvnDebug1 %{homedir}/bin/mvn.1.gz \ %postun -if [ $1 -eq 0 ]; then - update-alternatives --remove %{name} %{homedir}/bin/mvn -fi +[[ $1 -eq 0 ]] && update-alternatives --remove mvn %{homedir}/bin/mvn -%files -f .mfiles +%files lib -f .mfiles %doc README.md %license LICENSE NOTICE %{homedir} +%dir %{confdir} +%dir %{confdir}/logging %config(noreplace) %{_sysconfdir}/m2%{?maven_version_suffix}.conf -%config(noreplace) %{confdir}/* -%ghost %{_bindir}/mvn* -%{_datadir}/bash-completion +%config(noreplace) %{confdir}/settings.xml +%config(noreplace) %{confdir}/logging/simplelogger.properties -%files help -f .mfiles-javadoc -%ghost %{_mandir}/man1/mvn*.gz +%files +%ghost %{_bindir}/mvn +%ghost %{_bindir}/mvnDebug +%{_datadir}/bash-completion +%ghost %{_mandir}/man1/mvn.1.gz +%ghost %{_mandir}/man1/mvnDebug.1.gz + +%files javadoc -f .mfiles-javadoc +%license LICENSE NOTICE %changelog +* Thu Sep 3 2020 leiju - 1:3.5.4-6 +- Fix the build error + * Fri Mar 06 2020 lihao - 1:3.5.4-5 - Fix incorrect maven home path diff --git a/maven.yaml b/maven.yaml new file mode 100644 index 0000000..e177298 --- /dev/null +++ b/maven.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: apache/maven +tag_prefix: "maven-" +seperator: "." diff --git a/mvn.1 b/mvn.1 index 441059e..1363cd6 100644 --- a/mvn.1 +++ b/mvn.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH MAVEN "1" "May 2017" "Apache Maven 3.5.0" "User Commands" +.TH MVN "1" "April 2015" "Apache Maven 3.3.1" "User Commands" .SH NAME -mvn \- Apache Maven software project management and comprehension tool +mvn \- software project management and comprehension tool .SH DESCRIPTION usage: mvn [options] [] [] +usage: mvnDebug [options] [] [] .SH OPTIONS .TP \fB\-am\fR,\-\-also\-make @@ -18,11 +18,11 @@ projects on the list .TP \fB\-B\fR,\-\-batch\-mode Run in non\-interactive (batch) -mode (disables output color) +mode .TP \fB\-b\fR,\-\-builder The id of the build strategy to -use +use. .TP \fB\-C\fR,\-\-strict\-checksums Fail the build if checksums don't @@ -49,7 +49,7 @@ Encrypt server password .TP \fB\-f\fR,\-\-file Force the use of an alternate POM -file (or directory with pom.xml) +file (or directory with pom.xml). .TP \fB\-fae\fR,\-\-fail\-at\-end Only fail the build afterwards; @@ -76,8 +76,8 @@ toolchains file Display help information .TP \fB\-l\fR,\-\-log\-file -Log file where all build output -will go (disables output color) +Log file to where all build output +will go. .TP \fB\-llr\fR,\-\-legacy\-local\-repository Use Maven 2 Legacy Local @@ -112,7 +112,7 @@ Comma\-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId -or by its relative path +or by its relative path. .TP \fB\-q\fR,\-\-quiet Quiet output \- only show errors @@ -125,14 +125,14 @@ project Alternate path for the user settings file .TP -\fB\-t\fR,\-\-toolchains -Alternate path for the user -toolchains file -.TP \fB\-T\fR,\-\-threads Thread count, for instance 2.0C where C is core multiplied .TP +\fB\-t\fR,\-\-toolchains +Alternate path for the user +toolchains file +.TP \fB\-U\fR,\-\-update\-snapshots Forces a check for missing releases and updated snapshots on @@ -142,13 +142,12 @@ remote repositories Ineffective, only kept for backward compatibility .TP -\fB\-v\fR,\-\-version -Display version information -.TP \fB\-V\fR,\-\-show\-version Display version information WITHOUT stopping build .TP +\fB\-v\fR,\-\-version +Display version information +.TP \fB\-X\fR,\-\-debug Produce execution debug output -