├── src ├── main │ ├── resources │ │ ├── jira-report_de.properties │ │ ├── github-report_de.properties │ │ ├── org │ │ │ └── apache │ │ │ │ └── maven │ │ │ │ └── plugins │ │ │ │ └── changes │ │ │ │ └── images │ │ │ │ ├── add.gif │ │ │ │ ├── fix.gif │ │ │ │ ├── rss.png │ │ │ │ ├── remove.gif │ │ │ │ ├── update.gif │ │ │ │ └── icon_help_sml.gif │ │ ├── log4j.properties │ │ ├── github-report_en.properties │ │ ├── jira-report_en.properties │ │ ├── trac-report_en.properties │ │ ├── changes-report_en.properties │ │ ├── github-report.properties │ │ ├── github-report_sv.properties │ │ ├── github-report_fr.properties │ │ ├── trac-report.properties │ │ ├── changes-report_sv.properties │ │ ├── changes-report_de.properties │ │ ├── github-report_pt_BR.properties │ │ ├── changes-report.properties │ │ ├── changes-report_fr.properties │ │ ├── trac-report_sv.properties │ │ ├── trac-report_de.properties │ │ ├── trac-report_pt_BR.properties │ │ ├── trac-report_fr.properties │ │ ├── jira-report.properties │ │ ├── changes-report_pt_BR.properties │ │ ├── jira-report_sv.properties │ │ ├── jira-report_fr.properties │ │ └── jira-report_pt_BR.properties │ └── java │ │ └── org │ │ └── apache │ │ └── maven │ │ └── plugins │ │ └── changes │ │ ├── trac │ │ ├── TracDeprecatedReport.java │ │ └── TracIssueManagmentSystem.java │ │ ├── schema │ │ ├── SchemaValidatorException.java │ │ └── ChangesSchemaValidator.java │ │ ├── github │ │ ├── GitHubDeprecatedReport.java │ │ └── GitHubIssueManagementSystem.java │ │ ├── ChangesDeprecatedReport.java │ │ ├── jira │ │ ├── JiraDeprecatedReport.java │ │ ├── JIRAIssueManagementSystem.java │ │ └── UrlBuilder.java │ │ ├── announcement │ │ ├── AbstractAnnouncementMojo.java │ │ └── MailSender.java │ │ ├── IssueType.java │ │ ├── ChangesXMLRuntimeException.java │ │ ├── model │ │ └── AbstractRelease.java │ │ ├── issues │ │ └── IssueManagementSystem.java │ │ ├── AbstractChangesReport.java │ │ └── ProjectUtils.java ├── it │ ├── email-sender │ │ ├── readme.txt │ │ └── src │ │ │ └── changes │ │ │ └── changes.xml │ ├── announce-generate │ │ ├── invoker.properties │ │ ├── verify.groovy │ │ ├── pom.xml │ │ └── src │ │ │ └── changes │ │ │ └── changes.xml │ ├── announcement-generate-custom-template │ │ ├── invoker.properties │ │ ├── template-directory │ │ │ └── test-announce.vm │ │ ├── src │ │ │ └── changes │ │ │ │ └── changes.xml │ │ └── verify.bsh │ ├── settings-security.xml │ ├── announce-generate-no-url │ │ ├── invoker.properties │ │ ├── pom.xml │ │ └── src │ │ │ └── changes │ │ │ └── changes.xml │ ├── announce-generate-no-issue-management │ │ ├── invoker.properties │ │ └── pom.xml │ ├── announce-generate-inconsistent-issue-management │ │ └── invoker.properties │ ├── report-jira-invalid-issuemanagement │ │ ├── verify.groovy │ │ └── src │ │ │ └── changes │ │ │ └── changes.xml │ ├── report-changes-skip-snapshots │ │ └── verify.groovy │ ├── report-changes-generation-notEscapeText │ │ ├── verify.groovy │ │ └── src │ │ │ └── changes │ │ │ └── changes.xml │ ├── report-jira │ │ ├── verify.groovy │ │ └── pom.xml │ ├── report-aggregated-changes-generation │ │ ├── verify.groovy │ │ ├── module1 │ │ │ ├── src │ │ │ │ └── changes │ │ │ │ │ └── changes.xml │ │ │ └── pom.xml │ │ ├── module3 │ │ │ ├── src │ │ │ │ └── changes │ │ │ │ │ └── changes.xml │ │ │ └── pom.xml │ │ ├── module2 │ │ │ └── pom.xml │ │ └── src │ │ │ └── changes │ │ │ └── changes.xml │ ├── report-github │ │ ├── verify.groovy │ │ └── pom.xml │ ├── report-changes-generation │ │ └── verify.groovy │ ├── report-changes-system │ │ ├── src │ │ │ └── changes │ │ │ │ └── changes.xml │ │ └── verify.bsh │ ├── report-changes-system-noissuemanagement │ │ ├── src │ │ │ └── changes │ │ │ │ └── changes.xml │ │ └── verify.bsh │ ├── settings.xml │ └── report-changes-interpolation │ │ └── src │ │ └── changes │ │ └── changes.xml ├── site │ ├── resources │ │ └── download.cgi │ ├── apt │ │ ├── using-changes-xsd.apt │ │ └── examples │ │ │ ├── smtp-authentication.apt.vm │ │ │ ├── check-changes-file.apt.vm │ │ │ ├── alternate-changes-xml-location.apt.vm │ │ │ ├── changes-file-validation.apt.vm │ │ │ └── include-announcement-file.apt.vm │ └── changes │ │ └── sample-changes.xml └── test │ ├── unit │ ├── plugin-config.xml │ ├── non-valid-changes.xml │ ├── jira-plugin-config.xml │ ├── invalid-changes.xml │ ├── changes.xml │ └── announce-changes.xml │ ├── resources │ └── changes.xml │ ├── java │ └── org │ │ └── apache │ │ └── maven │ │ └── plugins │ │ └── changes │ │ ├── jira │ │ ├── JiraChangesReportTest.java │ │ ├── JiraUnicodeTestProjectStub.java │ │ └── UrlBuilderTest.java │ │ ├── ReleaseTest.java │ │ ├── ActionTest.java │ │ └── issues │ │ ├── IssueTestCase.java │ │ ├── IssueManagementSystemTest.java │ │ └── IssueUtilsTest.java │ └── manual-tests │ └── report-sandbox │ └── pom.xml ├── .gitignore ├── .github ├── release-drafter.yml ├── workflows │ ├── release-drafter.yml │ ├── stale.yml │ ├── maven-verify.yml │ └── pr-automation.yml ├── dependabot.yml ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── FEATURE.yml │ └── BUG.yml └── pull_request_template.md ├── Jenkinsfile ├── .git-blame-ignore-revs └── .asf.yaml /src/main/resources/jira-report_de.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/jira-report_de.properties -------------------------------------------------------------------------------- /src/main/resources/github-report_de.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/github-report_de.properties -------------------------------------------------------------------------------- /src/main/resources/org/apache/maven/plugins/changes/images/add.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/org/apache/maven/plugins/changes/images/add.gif -------------------------------------------------------------------------------- /src/main/resources/org/apache/maven/plugins/changes/images/fix.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/org/apache/maven/plugins/changes/images/fix.gif -------------------------------------------------------------------------------- /src/main/resources/org/apache/maven/plugins/changes/images/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/org/apache/maven/plugins/changes/images/rss.png -------------------------------------------------------------------------------- /src/main/resources/org/apache/maven/plugins/changes/images/remove.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/org/apache/maven/plugins/changes/images/remove.gif -------------------------------------------------------------------------------- /src/main/resources/org/apache/maven/plugins/changes/images/update.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/org/apache/maven/plugins/changes/images/update.gif -------------------------------------------------------------------------------- /src/it/email-sender/readme.txt: -------------------------------------------------------------------------------- 1 | This is a trivial project used to do manual tests of the announcement email sending process. 2 | 3 | It is not run automatically; it would be too hard to catch and verify email. 4 | -------------------------------------------------------------------------------- /src/main/resources/org/apache/maven/plugins/changes/images/icon_help_sml.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/maven-changes-plugin/HEAD/src/main/resources/org/apache/maven/plugins/changes/images/icon_help_sml.gif -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | .project 3 | .classpath 4 | .settings/ 5 | .svn/ 6 | bin/ 7 | # Intellij 8 | *.ipr 9 | *.iml 10 | .idea 11 | out/ 12 | .DS_Store 13 | /bootstrap 14 | /dependencies.xml 15 | .java-version 16 | -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | _extends: maven-gh-actions-shared 19 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | asfMavenTlpPlgnBuild() 21 | -------------------------------------------------------------------------------- /src/it/announce-generate/invoker.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | invoker.goals = clean changes:announcement-generate -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Change maven code style 21 | 5ac1c9d719f52205d97776f64be619daaddfe900 22 | -------------------------------------------------------------------------------- /src/it/announcement-generate-custom-template/invoker.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | invoker.goals = changes:changes-validate changes:announcement-generate -------------------------------------------------------------------------------- /src/it/settings-security.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 21 | {6TQXSXGMHWkHu6psfqOMMkXdy+tezkPMk5wcTB9B0VY=} 22 | 23 | -------------------------------------------------------------------------------- /src/it/announce-generate-no-url/invoker.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | invoker.goals = clean changes:announcement-generate 19 | 20 | invoker.buildResult = failure 21 | -------------------------------------------------------------------------------- /src/it/announce-generate-no-issue-management/invoker.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | invoker.goals = clean changes:announcement-generate 19 | 20 | invoker.buildResult = failure 21 | -------------------------------------------------------------------------------- /src/it/announce-generate-inconsistent-issue-management/invoker.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | invoker.goals = clean changes:announcement-generate 19 | 20 | invoker.buildResult = failure 21 | -------------------------------------------------------------------------------- /src/it/announcement-generate-custom-template/template-directory/test-announce.vm: -------------------------------------------------------------------------------- 1 | ## Licensed to the Apache Software Foundation (ASF) under one 2 | ## or more contributor license agreements. See the NOTICE file 3 | ## distributed with this work for additional information 4 | ## regarding copyright ownership. The ASF licenses this file 5 | ## to you under the Apache License, Version 2.0 (the 6 | ## "License"); you may not use this file except in compliance 7 | ## with the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, 12 | ## software distributed under the License is distributed on an 13 | ## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | ## KIND, either express or implied. See the License for the 15 | ## specific language governing permissions and limitations 16 | ## under the License. 17 | The ${developmentTeam} is pleased to announce the ${finalName} release! 18 | 19 | ${introduction} 20 | 21 | -------------------------------------------------------------------------------- /src/site/resources/download.cgi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # Just call the standard mirrors.cgi script. It will use download.html 21 | # as the input template. 22 | exec /www/www.apache.org/dyn/mirrors/mirrors.cgi $* -------------------------------------------------------------------------------- /.github/workflows/release-drafter.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | name: Release Drafter 19 | on: 20 | push: 21 | branches: 22 | - master 23 | jobs: 24 | update_release_draft: 25 | uses: apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml@v4 26 | -------------------------------------------------------------------------------- /src/it/report-jira-invalid-issuemanagement/verify.groovy: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | */ 20 | 21 | import java.io.*; 22 | import java.util.*; 23 | 24 | content = new File( basedir, 'build.log' ).text; 25 | 26 | assert !content.contains( '[ERROR]' ); 27 | 28 | return true; -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | name: Stale 19 | 20 | on: 21 | schedule: 22 | - cron: '17 3 * * *' 23 | issue_comment: 24 | types: [ 'created' ] 25 | 26 | jobs: 27 | stale: 28 | uses: 'apache/maven-gh-actions-shared/.github/workflows/stale.yml@v4' 29 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | version: 2 19 | updates: 20 | - package-ecosystem: "maven" 21 | directory: "/" 22 | schedule: 23 | interval: "daily" 24 | - package-ecosystem: "github-actions" 25 | directory: "/" 26 | schedule: 27 | interval: "daily" 28 | -------------------------------------------------------------------------------- /.github/workflows/maven-verify.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | name: Verify 19 | 20 | on: 21 | push: 22 | pull_request: 23 | 24 | jobs: 25 | build: 26 | name: Verify 27 | uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v4 28 | with: 29 | maven4-enabled: true 30 | -------------------------------------------------------------------------------- /.github/workflows/pr-automation.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | name: PR Automation 19 | on: 20 | pull_request_target: 21 | types: 22 | - closed 23 | 24 | jobs: 25 | pr-automation: 26 | name: PR Automation 27 | uses: apache/maven-gh-actions-shared/.github/workflows/pr-automation.yml@v4 28 | -------------------------------------------------------------------------------- /src/it/report-changes-skip-snapshots/verify.groovy: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | */ 20 | assert new File(basedir, 'build.log').exists(); 21 | content = new File(basedir, 'build.log').text; 22 | 23 | assert content.contains( "Skipping snapshot version '1.0-SNAPSHOT'." ); 24 | 25 | return true; 26 | -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | log4j.rootCategory=INFO, stdout 19 | 20 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 21 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 22 | log4j.appender.stdout.layout.ConversionPattern=%5p [%c{1}:%L] %d{ISO8601} - %m%n 23 | 24 | log4j.logger.org.apache.commons.httpclient=ERROR 25 | -------------------------------------------------------------------------------- /src/test/unit/plugin-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | changes-plugin-test 23 | 24 | 25 | 26 | maven-changes-plugin 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/it/report-changes-generation-notEscapeText/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | 21 | def report = new File(basedir, 'target/site/changes.html') 22 | assert report.exists() 23 | 24 | def content = report.text 25 | 26 | // HTML tags in action text are escaped, and not passed as raw text 27 | assert content.contains('HTML tags are not escaped, but passed as raw text.') 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser 19 | 20 | blank_issues_enabled: false 21 | 22 | contact_links: 23 | 24 | - name: Project Mailing Lists 25 | url: https://maven.apache.org/mailing-lists.html 26 | about: Please ask a question or discuss here 27 | -------------------------------------------------------------------------------- /src/test/unit/non-valid-changes.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 25 | Changes report Project 26 | Mr Zloug 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/resources/github-report_en.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | # NOTE: 19 | # This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It 20 | # must be provided nevertheless such that a request for locale "en" will not errorneously pick up the bundle for the 21 | # JVM's default locale (which need not be "en"). See the method javadoc about 22 | # ResourceBundle.getBundle(String, Locale, ClassLoader) 23 | # for a full description of the lookup strategy. -------------------------------------------------------------------------------- /src/main/resources/jira-report_en.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | # NOTE: 19 | # This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It 20 | # must be provided nevertheless such that a request for locale "en" will not errorneously pick up the bundle for the 21 | # JVM's default locale (which need not be "en"). See the method javadoc about 22 | # ResourceBundle.getBundle(String, Locale, ClassLoader) 23 | # for a full description of the lookup strategy. 24 | -------------------------------------------------------------------------------- /src/main/resources/trac-report_en.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | # NOTE: 19 | # This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It 20 | # must be provided nevertheless such that a request for locale "en" will not errorneously pick up the bundle for the 21 | # JVM's default locale (which need not be "en"). See the method javadoc about 22 | # ResourceBundle.getBundle(String, Locale, ClassLoader) 23 | # for a full description of the lookup strategy. 24 | -------------------------------------------------------------------------------- /src/main/resources/changes-report_en.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | # NOTE: 19 | # This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It 20 | # must be provided nevertheless such that a request for locale "en" will not errorneously pick up the bundle for the 21 | # JVM's default locale (which need not be "en"). See the method javadoc about 22 | # ResourceBundle.getBundle(String, Locale, ClassLoader) 23 | # for a full description of the lookup strategy. 24 | -------------------------------------------------------------------------------- /src/test/unit/jira-plugin-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | changes-plugin-test 23 | 24 | 25 | 26 | maven-changes-plugin 27 | 28 | target/jira-test-output 29 | Key,Summary,Status,Resolution,Assignee,Description 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/test/unit/invalid-changes.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 23 | 24 | 25 | This is my first & last addition. 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/trac/TracDeprecatedReport.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.trac; 20 | 21 | import org.apache.maven.plugins.annotations.Mojo; 22 | 23 | /** 24 | * Goal which downloads issues from the Issue Tracking System and generates a report. 25 | * 26 | * @author Noriko Kinugasa 27 | * @version $Id$ 28 | * @since 2.1 29 | * @deprecated use {@code track-changes} goal 30 | */ 31 | @Deprecated 32 | @Mojo(name = "trac-report", threadSafe = true) 33 | public class TracDeprecatedReport extends TracChangesReport {} 34 | -------------------------------------------------------------------------------- /src/it/report-changes-generation-notEscapeText/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | 25 | HTML tags are not escaped, but passed as raw text. 27 | ]]> 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/it/report-jira/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | import com.github.tomakehurst.wiremock.WireMockServer 21 | 22 | WireMockServer wireMockServer = context.get("wireMockServer") 23 | wireMockServer.stop() 24 | 25 | content = new File(basedir, 'target/site/jira-changes.html').text; 26 | 27 | assert content.contains('/browse/TEST_PROJECT-1">TEST_PROJECT-1'); 28 | assert content.contains('Authentication does not work after Upgrade'); 29 | assert content.contains('Closed'); 30 | assert content.contains('Fixed'); 31 | assert content.contains('Assigned User'); 32 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/FEATURE.yml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema 19 | 20 | name: Feature request 21 | description: File a proposal for new feature, improvement 22 | labels: ["enhancement"] 23 | 24 | body: 25 | - type: markdown 26 | attributes: 27 | value: | 28 | Thanks for taking the time to fill out this new feature, improvement proposal. 29 | 30 | - type: textarea 31 | id: message 32 | attributes: 33 | label: New feature, improvement proposal 34 | validations: 35 | required: true 36 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/schema/SchemaValidatorException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.schema; 20 | 21 | /** 22 | * @author Olivier Lamy 23 | * @since 28 juil. 2008 24 | * @version $Id$ 25 | */ 26 | public class SchemaValidatorException extends Exception { 27 | 28 | /** 29 | * Generated serial UID. 30 | */ 31 | private static final long serialVersionUID = -8265574906534248274L; 32 | 33 | /** 34 | * @param message Message. 35 | * @param cause Cause. 36 | */ 37 | public SchemaValidatorException(String message, Throwable cause) { 38 | super(message, cause); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/it/report-aggregated-changes-generation/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | assert new File(basedir, 'target/site/changes.html').exists(); 20 | content = new File(basedir, 'target/site/changes.html').text; 21 | 22 | assert content.contains( 'Changes' ); 23 | 24 | assert content.contains( 'Module1' ); 25 | assert !content.contains( 'Module2' ); 26 | assert content.contains( 'Module3' ); 27 | assert !content.contains( 'Module4' ); 28 | 29 | assert content.contains( 'MCHANGES-88' ); 30 | assert content.contains( 'MCHANGES-1' ); 31 | assert content.contains( 'bug-12345' ); 32 | 33 | assert content.contains( 'No changes in this release.' ); 34 | 35 | return true; 36 | -------------------------------------------------------------------------------- /.asf.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | # see https://s.apache.org/asfyaml 18 | github: 19 | description: "Apache Maven Changes Plugin" 20 | homepage: https://maven.apache.org/plugins/maven-changes-plugin/ 21 | labels: 22 | - java 23 | - build-management 24 | - maven-plugins 25 | - maven-changes-plugin 26 | - maven 27 | enabled_merge_buttons: 28 | squash: true 29 | merge: false 30 | rebase: true 31 | autolink_jira: 32 | - MCHANGES 33 | protected_branches: 34 | master: { } 35 | pull_requests: 36 | del_branch_on_merge: true 37 | features: 38 | issues: true 39 | notifications: 40 | commits: commits@maven.apache.org 41 | issues: issues@maven.apache.org 42 | pullrequests: issues@maven.apache.org 43 | -------------------------------------------------------------------------------- /src/main/resources/github-report.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=GitHub Report 19 | report.issues.description=Report on Issues from GitHub. 20 | report.issues.error=An error occured that made it impossible to generate this report. \ 21 | Please check the console for information on what might be the cause of this. 22 | report.issues.header=GitHub Report 23 | report.issues.label.assignee=Assignee 24 | report.issues.label.created=Created 25 | report.issues.label.fixVersion=Fix Version 26 | report.issues.label.id=# 27 | report.issues.label.reporter=Reporter 28 | report.issues.label.status=Status 29 | report.issues.label.summary=Summary 30 | report.issues.label.type=Type 31 | report.issues.label.updated=Updated 32 | report.issues.label.version=Version 33 | -------------------------------------------------------------------------------- /src/main/resources/github-report_sv.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=GitHub-rapport 19 | report.issues.description=Rapport \u00f6ver \u00e4renden i GitHub. 20 | report.issues.error=Ett fel intr\u00e4ffade som gjorde det om\u00f6jligt att skapa denna rapport. \ 21 | V\u00e4nligen kontrollera kommandoraden f\u00f6r information om vad som kan ha orsakat detta. 22 | report.issues.header=GitHub-rapport 23 | report.issues.label.assignee=Av 24 | report.issues.label.created=Skapades 25 | report.issues.label.fixVersion=Fix Version 26 | report.issues.label.id=# 27 | report.issues.label.reporter=Rapport\u00f6r 28 | report.issues.label.status=Status 29 | report.issues.label.summary=Summering 30 | report.issues.label.type=Typ 31 | report.issues.label.updated=Uppdaterades 32 | report.issues.label.version=Version 33 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/github/GitHubDeprecatedReport.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.github; 20 | 21 | import javax.inject.Inject; 22 | 23 | import org.apache.maven.plugins.annotations.Mojo; 24 | import org.apache.maven.settings.crypto.SettingsDecrypter; 25 | 26 | /** 27 | * Goal which downloads issues from GitHub and generates a report. 28 | * 29 | * @author Bryan Baugher 30 | * @since 2.8 31 | * @deprecated use {@code github-changes} goal 32 | */ 33 | @Deprecated 34 | @Mojo(name = "github-report", threadSafe = true) 35 | public class GitHubDeprecatedReport extends GitHubChangesReport { 36 | 37 | @Inject 38 | public GitHubDeprecatedReport(SettingsDecrypter settingsDecrypter) { 39 | super(settingsDecrypter); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/schema/ChangesSchemaValidator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.schema; 20 | 21 | import java.io.File; 22 | 23 | /** 24 | * @author Olivier Lamy 25 | * @since 28 juil. 2008 26 | * @version $Id$ 27 | */ 28 | public interface ChangesSchemaValidator { 29 | /** 30 | * @param file File to validate. 31 | * @param schemaVersion Schema version. 32 | * @param failOnValidationError if false SchemaValidatorException will not be throw 33 | * @return {@link XmlValidationHandler} 34 | * @throws SchemaValidatorException if validation failed. 35 | */ 36 | XmlValidationHandler validateXmlWithSchema(File file, String schemaVersion, boolean failOnValidationError) 37 | throws SchemaValidatorException; 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/ChangesDeprecatedReport.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes; 20 | 21 | import javax.inject.Inject; 22 | 23 | import org.apache.maven.plugins.annotations.Mojo; 24 | import org.apache.maven.shared.filtering.MavenFileFilter; 25 | 26 | /** 27 | * Goal which creates a nicely formatted Changes Report in html format from a changes.xml file. 28 | * 29 | * @author Johnny R. Ruiz III 30 | * @deprecated use {@code change} goal 31 | */ 32 | @Deprecated 33 | @Mojo(name = "changes-report", threadSafe = true) 34 | public class ChangesDeprecatedReport extends ChangesReport { 35 | 36 | @Inject 37 | public ChangesDeprecatedReport(MavenFileFilter mavenFileFilter) { 38 | super(mavenFileFilter); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/resources/github-report_fr.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Rapport GitHub 19 | report.issues.description=Rapport des demandes depuis le syst\u00EAme de gestion des demandes GitHub. 20 | report.issues.error=Une erreur est survenue, ce qui ne permet pas de g\u00E9n\u00E9rer le rapport. \ 21 | Merci de v\u00E9rifier les traces dans la console pour conna\u00EEtre la cause de l'erreur. 22 | report.issues.header=Rapport GitHub 23 | report.issues.label.assignee=Par 24 | report.issues.label.created=Cr\u00E9e 25 | report.issues.label.fixVersion=Version de correction 26 | report.issues.label.id=# 27 | report.issues.label.reporter=Rapporteur 28 | report.issues.label.status=Statut 29 | report.issues.label.summary=Description 30 | report.issues.label.type=Type 31 | report.issues.label.updated=Modifi\u00E9 32 | report.issues.label.version=Version 33 | -------------------------------------------------------------------------------- /src/main/resources/trac-report.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Trac Report 19 | report.issues.description=Report on tickets in Trac. 20 | report.issues.error=An error occured that made it impossible to generate this report. \ 21 | Please check the console for information on what might be the cause of this. 22 | report.issues.header=Trac Tickets 23 | report.issues.label.assignee=Owner 24 | report.issues.label.component=Component 25 | report.issues.label.created=Created 26 | report.issues.label.fixVersion=Milestone 27 | report.issues.label.id=# 28 | report.issues.label.priority=Priority 29 | report.issues.label.reporter=Reporter 30 | report.issues.label.resolution=Resolution 31 | report.issues.label.status=Status 32 | report.issues.label.summary=Summary 33 | report.issues.label.type=Type 34 | report.issues.label.updated=Modified 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/main/resources/changes-report_sv.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=\u00c4ndrings 19 | report.issues.description=\u00c4ndringsrapport f\u00f6r releaser av projektet. 20 | report.issues.header=\u00c4ndringsrapport 21 | report.issues.label.assignee=Av 22 | report.issues.label.fixVersion=Version 23 | report.issues.label.summary=\u00c4ndringar 24 | report.issues.label.type=Typ 25 | report.issues.label.updated=Datum 26 | report.changes.label.release=Release 27 | report.changes.label.releaseDate=Datum 28 | report.changes.label.releaseDescription=Beskrivning 29 | report.changes.label.releasehistory=Releasehistorik 30 | report.changes.text.no.changes=Inga \u00e4ndringar i denna release. 31 | report.changes.text.rssfeed=H\u00e4mta RSS fl\u00f6det f\u00f6r de senaste \u00e4ndringarna: 32 | report.changes.text.thanx=Tack till 33 | report.changes.text.fixes=Fixar 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/BUG.yml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema 19 | 20 | name: Bug Report 21 | description: File a bug report 22 | labels: ["bug"] 23 | 24 | body: 25 | - type: markdown 26 | attributes: 27 | value: | 28 | Thanks for taking the time to fill out this bug report. 29 | 30 | Simple fixes in single PRs do not require issues. 31 | 32 | **Do you use the latest project version?** 33 | 34 | - type: input 35 | id: version 36 | attributes: 37 | label: Affected version 38 | validations: 39 | required: true 40 | 41 | - type: textarea 42 | id: message 43 | attributes: 44 | label: Bug description 45 | validations: 46 | required: true 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/jira/JiraDeprecatedReport.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.jira; 20 | 21 | import javax.inject.Inject; 22 | 23 | import org.apache.maven.plugins.annotations.Mojo; 24 | import org.apache.maven.settings.crypto.SettingsDecrypter; 25 | 26 | /** 27 | * Goal which downloads issues from the Issue Tracking System and generates a report. 28 | * 29 | * @author Johnny R. Ruiz III 30 | * @since 2.0 31 | * @deprecated use {@code jira-changes} goal 32 | */ 33 | @Deprecated 34 | @Mojo(name = "jira-report", threadSafe = true) 35 | public class JiraDeprecatedReport extends JiraChangesReport { 36 | 37 | @Inject 38 | public JiraDeprecatedReport(SettingsDecrypter settingsDecrypter) { 39 | super(settingsDecrypter); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/resources/changes-report_de.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=\u00c4nderungen 19 | report.issues.description=Bericht \u00fcber die \u00c4nderungen zwischen den Projekt-Releases. 20 | report.issues.header=\u00c4nderungsbericht 21 | report.issues.label.assignee=Durch 22 | report.issues.label.fixVersion=Version 23 | report.issues.label.summary=\u00c4nderungen 24 | report.issues.label.type=Typ 25 | report.issues.label.updated=Datum 26 | report.changes.label.release=Release 27 | report.changes.label.releaseDate=Datum 28 | report.changes.label.releaseDescription=Beschreibung 29 | report.changes.label.releasehistory=Release-Geschichte 30 | report.changes.text.no.changes=Keine \u00c4nderungen f\u00fcr dieses Release. 31 | report.changes.text.rssfeed=RSS-Feed der letzten \u00c4nderungen: 32 | report.changes.text.thanx=Dank gilt 33 | report.changes.text.fixes=Behebt 34 | -------------------------------------------------------------------------------- /src/main/resources/github-report_pt_BR.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Relat\u00f3rio do GitHub 19 | report.issues.description=Relat\u00f3rio de pend\u00eancias do GitHub. 20 | report.issues.error=Ocorreu um erro que impossibilitou a gera\u00e7\u00e3o deste relat\u00f3rio. \ 21 | Por favor, verifique o console para obter informa\u00e7\u00f5es sobre a causa disto. 22 | report.issues.header=Relat\u00f3rio do GitHub 23 | report.issues.label.assignee=Respons\u00e1vel 24 | report.issues.label.created=Cria\u00e7\u00e3o 25 | report.issues.label.fixVersion=Vers\u00e3o de corre\u00e7\u00e3o 26 | report.issues.label.id=# 27 | report.issues.label.reporter=Relator 28 | report.issues.label.status=Estado 29 | report.issues.label.summary=Descri\u00e7\u00e3o 30 | report.issues.label.type=Tipo 31 | report.issues.label.updated=Atualizado 32 | report.issues.label.version=Vers\u00e3o 33 | -------------------------------------------------------------------------------- /src/main/resources/changes-report.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Changes 19 | report.issues.description=Changes report on releases of this project. 20 | report.issues.header=Changes Report 21 | report.issues.label.assignee=By 22 | report.issues.label.fixVersion=Version 23 | report.issues.label.summary=Changes 24 | report.issues.label.type=Type 25 | report.issues.label.updated=Date 26 | report.changes.label.release=Release 27 | report.changes.label.releaseDate=Date 28 | report.changes.label.releaseDescription=Description 29 | report.changes.label.releasehistory=Release History 30 | report.changes.text.no.changes=No changes in this release. 31 | report.changes.text.rssfeed=Get the RSS feed of the last changes: 32 | report.changes.text.rssfeed.description=These are the latest changes of this project. 33 | report.changes.text.thanx=Thanks to 34 | report.changes.text.fixes=Fixes 35 | -------------------------------------------------------------------------------- /src/main/resources/changes-report_fr.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Changements 19 | report.issues.description=Rapport des changements dans les versions publi\u00e9es du projet. 20 | report.issues.header=Rapport des changements 21 | report.issues.label.assignee=Par 22 | report.issues.label.fixVersion=Version 23 | report.issues.label.summary=Changements 24 | report.issues.label.type=Type 25 | report.issues.label.updated=Date 26 | report.changes.label.release=Release 27 | report.changes.label.releaseDate=Date 28 | report.changes.label.releaseDescription=Description 29 | report.changes.label.releasehistory=Historique des versions publi\u00e9es 30 | report.changes.text.rssfeed=Obtenir le flux RSS des derniers changements: 31 | report.changes.text.thanx=Gr\u00e2ce \u00e2 32 | report.changes.text.fixes=Corrige 33 | report.changes.text.no.changes=Pas de changement dans cette version 34 | -------------------------------------------------------------------------------- /src/main/resources/trac-report_sv.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Trac-rapport 19 | report.issues.description=Rapport \u00f6ver \u00e4renden i Trac. 20 | report.issues.error=Ett fel intr\u00e4ffade som gjorde det om\u00f6jligt att skapa denna rapport. \ 21 | V\u00e4nligen kontrollera kommandoraden f\u00f6r information om vad som kan ha orsakat detta. 22 | report.issues.header=Trac-rapport 23 | report.issues.label.assignee=\u00c4gare 24 | report.issues.label.component=Komponent 25 | report.issues.label.created=Skapad 26 | report.issues.label.fixVersion=milstolpe 27 | report.issues.label.id=# 28 | report.issues.label.priority=Prioritet 29 | report.issues.label.reporter=Rapport\u00f6r 30 | report.issues.label.resolution=L\u00f6sning 31 | report.issues.label.status=Status 32 | report.issues.label.summary=Summering 33 | report.issues.label.type=Typ 34 | report.issues.label.updated=Modifierad 35 | -------------------------------------------------------------------------------- /src/it/report-aggregated-changes-generation/module1/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 32 | The element type " link " must be terminated by the matching end-tag. 33 | Deleted the erroneous code. 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/resources/trac-report_de.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Trac-Bericht 19 | report.issues.description=Bericht \u00FCber die Tickets in Trac. 20 | report.issues.error=Es ist ein Fehler aufgetreten, der die Generierung dieses Berichts verhinderte. \ 21 | Bitte kontrollieren Sie die Konsolenausgabe im Hinblick auf Informationen \u00FCber die Ursache. 22 | report.issues.header=Trac-Tickets 23 | report.issues.label.assignee=Besitzer 24 | report.issues.label.component=Komponente 25 | report.issues.label.created=Erstellt 26 | report.issues.label.fixVersion=Meilenstein 27 | report.issues.label.id=# 28 | report.issues.label.priority=Priorit\u00E4t 29 | report.issues.label.reporter=Reporter 30 | report.issues.label.resolution=L\u00F6sung 31 | report.issues.label.status=Status 32 | report.issues.label.summary=Zusammenfassung 33 | report.issues.label.type=Typ 34 | report.issues.label.updated=Ge\u00E4ndert 35 | -------------------------------------------------------------------------------- /src/main/resources/trac-report_pt_BR.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Relat\u00f3rio do Trac 19 | report.issues.description=Tickets registrados no Trac. 20 | report.issues.error=Ocorreu um erro que impossibilitou a gera\u00e7\u00e3o deste relat\u00f3rio. \ 21 | Por favor, verifique o console para obter informa\u00e7\u00f5es sobre a causa disto. 22 | report.issues.header=Tickets no Trac 23 | report.issues.label.assignee=Respons\u00e1vel 24 | report.issues.label.component=Componente 25 | report.issues.label.created=Criado 26 | report.issues.label.fixVersion=Milestone 27 | report.issues.label.id=# 28 | report.issues.label.priority=Prioridade 29 | report.issues.label.reporter=Relator 30 | report.issues.label.resolution=Solu\u00e7\u00e3o 31 | report.issues.label.status=Estado 32 | report.issues.label.summary=Descri\u00e7\u00e3o 33 | report.issues.label.type=Tipo 34 | report.issues.label.updated=Modificado 35 | 36 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/announcement/AbstractAnnouncementMojo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.announcement; 20 | 21 | import org.apache.maven.plugins.annotations.Parameter; 22 | import org.apache.maven.plugins.changes.AbstractChangesMojo; 23 | 24 | /** 25 | * Abstract superclass for announcement mojos. 26 | * 27 | * @version $Id$ 28 | * @since 2.3 29 | */ 30 | public abstract class AbstractAnnouncementMojo extends AbstractChangesMojo { 31 | /** 32 | * This will cause the execution to be run only at the top of a given module tree. That is, run in the project 33 | * contained in the same folder where the mvn execution was launched. 34 | * 35 | * @since 2.3 36 | */ 37 | @Parameter(property = "announcement.runOnlyAtExecutionRoot", defaultValue = "false") 38 | protected boolean runOnlyAtExecutionRoot; 39 | } 40 | -------------------------------------------------------------------------------- /src/main/resources/trac-report_fr.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Rapport Trac 19 | report.issues.description=Rapport des tickets dans Trac. 20 | report.issues.error=Une erreur est survenue, ce qui ne permet pas de g\u00E9n\u00E9rer le rapport. \ 21 | Merci de v\u00E9rifier les traces dans la console pour conna\u00EEtre la cause de l'erreur. 22 | report.issues.header=Tickets Trac 23 | report.issues.label.assignee=Propri\u00E9taire 24 | report.issues.label.component=Composant 25 | report.issues.label.created=Cr\u00E9e 26 | report.issues.label.fixVersion=milestone 27 | report.issues.label.id=# 28 | report.issues.label.priority=Priorit\u00E9 29 | report.issues.label.reporter=Rapporteur 30 | report.issues.label.resolution=R\u00E9solution 31 | report.issues.label.status=Statut 32 | report.issues.label.summary=Description 33 | report.issues.label.type=Type 34 | report.issues.label.updated=Modifi\u00E9 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/main/resources/jira-report.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=JIRA Report 19 | report.issues.description=Report on Issues from the JIRA Issue Tracking System. 20 | report.issues.error=An error occurred that made it impossible to generate this report. \ 21 | Please check the console for information on what might be the cause of this. 22 | report.issues.header=JIRA Report 23 | report.issues.label.assignee=By 24 | report.issues.label.component=Component 25 | report.issues.label.created=Created 26 | report.issues.label.fixVersion=Fix Version 27 | report.issues.label.id=# 28 | report.issues.label.key=Key 29 | report.issues.label.priority=Priority 30 | report.issues.label.reporter=Reporter 31 | report.issues.label.resolution=Resolution 32 | report.issues.label.status=Status 33 | report.issues.label.summary=Summary 34 | report.issues.label.type=Type 35 | report.issues.label.updated=Updated 36 | report.issues.label.version=Version 37 | -------------------------------------------------------------------------------- /src/main/resources/changes-report_pt_BR.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Mudan\u00e7as 19 | report.issues.description=Relat\u00f3rio de Mudan\u00e7as dos Lan\u00e7amentos do Projeto. 20 | report.issues.header=Relat\u00f3rio de Mudan\u00e7as 21 | report.issues.label.assignee=Respons\u00e1vel 22 | report.issues.label.fixVersion=Vers\u00e3o 23 | report.issues.label.summary=Mudan\u00e7as 24 | report.issues.label.type=Tipo 25 | report.issues.label.updated=Data 26 | report.changes.label.release=Lan\u00e7amento 27 | report.changes.label.releaseDate=Data 28 | report.changes.label.releaseDescription=Descri\u00e7\u00e3o 29 | report.changes.label.releasehistory=Hist\u00f3rico de Lan\u00e7amentos 30 | report.changes.text.no.changes=Sem mudan\u00e7as nesta vers\u00e3o. 31 | report.changes.text.rssfeed=Obtenha via RSS as \u00faltimas mudan\u00e7as: 32 | report.changes.text.thanx=Agradecimentos a 33 | report.changes.text.fixes=Corre\u00e7\u00f5es 34 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/github/GitHubIssueManagementSystem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.github; 20 | 21 | import org.apache.maven.plugins.changes.IssueType; 22 | import org.apache.maven.plugins.changes.issues.AbstractIssueManagementSystem; 23 | 24 | /** 25 | * @since 2.8 26 | */ 27 | public class GitHubIssueManagementSystem extends AbstractIssueManagementSystem { 28 | 29 | private static final String DEFAULT_ADD_TYPE = "enhancement"; 30 | 31 | private static final String DEFAULT_FIX_TYPE = "bug"; 32 | 33 | public GitHubIssueManagementSystem() { 34 | super(); 35 | // The standard issue types for GitHub 36 | issueTypeMap.put(DEFAULT_ADD_TYPE, IssueType.ADD); 37 | issueTypeMap.put(DEFAULT_FIX_TYPE, IssueType.FIX); 38 | } 39 | 40 | @Override 41 | public String getName() { 42 | return "Github"; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/resources/jira-report_sv.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=JIRA-rapport 19 | report.issues.description=Rapport \u00f6ver \u00e4renden i JIRA. 20 | report.issues.error=Ett fel intr\u00e4ffade som gjorde det om\u00f6jligt att skapa denna rapport. \ 21 | V\u00e4nligen kontrollera kommandoraden f\u00f6r information om vad som kan ha orsakat detta. 22 | report.issues.header=JIRA-rapport 23 | report.issues.label.assignee=Av 24 | report.issues.label.component=Komponent 25 | report.issues.label.created=Skapades 26 | report.issues.label.fixVersion=Fix Version 27 | report.issues.label.id=# 28 | report.issues.label.key=Nyckel 29 | report.issues.label.priority=Prioritet 30 | report.issues.label.reporter=Rapport\u00f6r 31 | report.issues.label.resolution=L\u00f6sning 32 | report.issues.label.status=Status 33 | report.issues.label.summary=Summering 34 | report.issues.label.type=Typ 35 | report.issues.label.updated=Uppdaterades 36 | report.issues.label.version=Version 37 | -------------------------------------------------------------------------------- /src/site/apt/using-changes-xsd.apt: -------------------------------------------------------------------------------- 1 | ----- 2 | Using the XML Schema Changes 2.0.0 3 | ----- 4 | Vincent Siveton 5 | ------ 6 | 2009-10-02 7 | ------ 8 | 9 | ~~ Licensed to the Apache Software Foundation (ASF) under one 10 | ~~ or more contributor license agreements. See the NOTICE file 11 | ~~ distributed with this work for additional information 12 | ~~ regarding copyright ownership. The ASF licenses this file 13 | ~~ to you under the Apache License, Version 2.0 (the 14 | ~~ "License"); you may not use this file except in compliance 15 | ~~ with the License. You may obtain a copy of the License at 16 | ~~ 17 | ~~ http://www.apache.org/licenses/LICENSE-2.0 18 | ~~ 19 | ~~ Unless required by applicable law or agreed to in writing, 20 | ~~ software distributed under the License is distributed on an 21 | ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 22 | ~~ KIND, either express or implied. See the License for the 23 | ~~ specific language governing permissions and limitations 24 | ~~ under the License. 25 | 26 | ~~ NOTE: For help with the syntax of this file, see: 27 | ~~ http://maven.apache.org/doxia/references/apt-format.html 28 | 29 | Using the XML Schema Changes 2.0.0 30 | 31 | The Changes XSD is located {{{https://maven.apache.org/xsd/changes-2.0.0.xsd}here}}. 32 | 33 | Your favorite IDE probably supports validation and/or syntax highlighting for 34 | XML files by using XSD schemas. For this to work you need to specify the 35 | schema in your <<>> file: 36 | 37 | +-----+ 38 | 41 | ... 42 | 43 | +-----+ 44 | -------------------------------------------------------------------------------- /src/it/report-aggregated-changes-generation/module3/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 32 | Handle different issue systems. 33 | 34 | 36 | Updated dependencies. 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/it/report-aggregated-changes-generation/module1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | 26 | org.apache.maven.plugins 27 | maven-changes-plugin-test 28 | 99.0 29 | 30 | maven-changes-plugin-test1 31 | 99.0 32 | Module1 33 | jar 34 | Test report 1. 35 | 36 | 37 | junit 38 | junit 39 | 3.8.1 40 | test 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/it/report-aggregated-changes-generation/module2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | 26 | org.apache.maven.plugins 27 | maven-changes-plugin-test 28 | 99.0 29 | 30 | maven-changes-plugin-test2 31 | 99.0 32 | Module2 33 | jar 34 | Test report 2. 35 | 36 | 37 | junit 38 | junit 39 | 3.8.1 40 | test 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/it/report-aggregated-changes-generation/module3/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | 26 | org.apache.maven.plugins 27 | maven-changes-plugin-test 28 | 99.0 29 | 30 | maven-changes-plugin-test3 31 | 99.0 32 | Module3 33 | jar 34 | Test report 3. 35 | 36 | 37 | junit 38 | junit 39 | 3.8.1 40 | test 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/main/resources/jira-report_fr.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Rapport JIRA 19 | report.issues.description=Rapport des demandes depuis le syst\u00EAme de gestion des demandes JIRA. 20 | report.issues.error=Une erreur est survenue, ce qui ne permet pas de g\u00E9n\u00E9rer le rapport. \ 21 | Merci de v\u00E9rifier les traces dans la console pour conna\u00EEtre la cause de l'erreur. 22 | report.issues.header=Rapport JIRA 23 | report.issues.label.assignee=Par 24 | report.issues.label.component=Composant 25 | report.issues.label.created=Cr\u00E9e 26 | report.issues.label.fixVersion=Version de correction 27 | report.issues.label.id=# 28 | report.issues.label.key=Clef 29 | report.issues.label.priority=Priorit\u00E9 30 | report.issues.label.reporter=Rapporteur 31 | report.issues.label.resolution=R\u00E9solution 32 | report.issues.label.status=Statut 33 | report.issues.label.summary=Description 34 | report.issues.label.type=Type 35 | report.issues.label.updated=Modifi\u00E9 36 | report.issues.label.version=Version 37 | -------------------------------------------------------------------------------- /src/it/report-github/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | import com.github.tomakehurst.wiremock.WireMockServer 21 | 22 | WireMockServer wireMockServer = context.get("wireMockServer") 23 | wireMockServer.stop() 24 | 25 | content = new File(basedir, 'target/site/github-changes.html').text; 26 | 27 | assert content.contains('/owner-name/repo-name/issues/1234">1234'); 28 | assert content.contains('Authentication does not work after Upgrade'); 29 | assert content.contains('OPEN'); 30 | assert content.contains('assigned-user1') 31 | assert content.contains('reporter-user1'); 32 | assert content.contains('2.12.1'); 33 | 34 | assert content.contains('/owner-name/repo-name/issues/1235">1235'); 35 | assert content.contains('Next issue for testing'); 36 | assert content.contains('CLOSED'); 37 | assert content.contains('assigned-user2') 38 | assert content.contains('reporter-user2'); 39 | assert content.contains('2.12.2'); 40 | -------------------------------------------------------------------------------- /src/main/resources/jira-report_pt_BR.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | report.issues.name=Relat\u00f3rio do JIRA 19 | report.issues.description=Relat\u00f3rio de pend\u00eancias do JIRA. 20 | report.issues.error=Ocorreu um erro que impossibilitou a gera\u00e7\u00e3o deste relat\u00f3rio. \ 21 | Por favor, verifique o console para obter informa\u00e7\u00f5es sobre a causa disto. 22 | report.issues.header=Relat\u00f3rio do JIRA 23 | report.issues.label.assignee=Respons\u00e1vel 24 | report.issues.label.component=Componente 25 | report.issues.label.created=Cria\u00e7\u00e3o 26 | report.issues.label.fixVersion=Vers\u00e3o de corre\u00e7\u00e3o 27 | report.issues.label.id=# 28 | report.issues.label.key=Chave 29 | report.issues.label.priority=Prioridade 30 | report.issues.label.reporter=Relator 31 | report.issues.label.resolution=Solu\u00e7\u00e3o 32 | report.issues.label.status=Estado 33 | report.issues.label.summary=Descri\u00e7\u00e3o 34 | report.issues.label.type=Tipo 35 | report.issues.label.updated=Atualizado 36 | report.issues.label.version=Vers\u00e3o 37 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | Following this checklist to help us incorporate your 2 | contribution quickly and easily: 3 | 4 | - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MCHANGES) filed 5 | for the change (usually before you start working on it). Trivial changes like typos do not 6 | require a JIRA issue. Your pull request should address just this issue, without 7 | pulling in other changes. 8 | - [ ] Each commit in the pull request should have a meaningful subject line and body. 9 | - [ ] Format the pull request title like `[MCHANGES-XXX] SUMMARY`, 10 | where you replace `MCHANGES-XXX` and `SUMMARY` with the appropriate JIRA issue. 11 | - [ ] Also format the first line of the commit message like `[MCHANGES-XXX] SUMMARY`. 12 | Best practice is to use the JIRA issue title in both the pull request title and in the first line of the commit message. 13 | - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. 14 | - [ ] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. 15 | 16 | If your pull request is about ~20 lines of code you don't need to sign an 17 | [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure 18 | please ask on the developers list. 19 | 20 | To make clear that you license your contribution under 21 | the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) 22 | you have to acknowledge this by using the following check-box. 23 | 24 | - [ ] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) 25 | 26 | - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). -------------------------------------------------------------------------------- /src/test/resources/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 22 | 23 | Page title 24 | Vincent Massol 25 | 26 | 27 | 28 | 29 | 30 | Blah blah blaha. 31 | 32 | 33 | 34 | 35 | Test 36 | 37 | 38 | Corrected bug blah blah. 39 | 40 | 41 | Removed blah blah. 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/IssueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes; 20 | 21 | /** 22 | * The types of issues that can be used in a changes.xml file. 23 | * 24 | * @version $Id$ 25 | */ 26 | public enum IssueType { 27 | ADD("add"), 28 | FIX("fix"), 29 | UPDATE("update"), 30 | REMOVE("remove"); 31 | 32 | private final String configurationKey; 33 | 34 | IssueType(String configurationKey) { 35 | this.configurationKey = configurationKey; 36 | } 37 | 38 | public String configurationKey() { 39 | return configurationKey; 40 | } 41 | 42 | public String modelRepresentation() { 43 | return name().toLowerCase(); 44 | } 45 | 46 | public static IssueType lookupByKey(String key) { 47 | IssueType type; 48 | try { 49 | type = IssueType.valueOf(key.toUpperCase()); 50 | } catch (IllegalArgumentException e) { 51 | type = null; 52 | } 53 | return type; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/jira/JIRAIssueManagementSystem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.jira; 20 | 21 | import org.apache.maven.plugins.changes.IssueType; 22 | import org.apache.maven.plugins.changes.issues.AbstractIssueManagementSystem; 23 | 24 | /** 25 | * The JIRA issue management system. 26 | * 27 | * @version $Id$ 28 | */ 29 | public class JIRAIssueManagementSystem extends AbstractIssueManagementSystem { 30 | 31 | public JIRAIssueManagementSystem() { 32 | super(); 33 | // Add the standard issue types for JIRA 34 | issueTypeMap.put("Bug", IssueType.FIX); 35 | issueTypeMap.put("Dependency upgrade", IssueType.UPDATE); 36 | issueTypeMap.put("Improvement", IssueType.UPDATE); 37 | issueTypeMap.put("New Feature", IssueType.ADD); 38 | issueTypeMap.put("Task", IssueType.UPDATE); 39 | issueTypeMap.put("Wish", IssueType.UPDATE); 40 | } 41 | 42 | @Override 43 | public String getName() { 44 | return "JIRA"; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/jira/JiraChangesReportTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.jira; 20 | 21 | import org.apache.maven.api.plugin.testing.InjectMojo; 22 | import org.apache.maven.api.plugin.testing.MojoParameter; 23 | import org.apache.maven.api.plugin.testing.MojoTest; 24 | import org.junit.jupiter.api.Test; 25 | 26 | import static org.junit.jupiter.api.Assertions.assertFalse; 27 | 28 | /** 29 | * Unit tests for {@link JiraChangesReport}. 30 | * 31 | * @author jrh3k5 32 | * @since 2.8 33 | */ 34 | @MojoTest 35 | public class JiraChangesReportTest { 36 | 37 | /** 38 | * If the mojo has been marked to be skipped, then it should indicate that the report cannot be generated. 39 | * 40 | * @throws Exception If any errors occur during the test run. 41 | */ 42 | @Test 43 | @InjectMojo(goal = "jira-changes") 44 | @MojoParameter(name = "skip", value = "true") 45 | public void testCanGenerateReportSkipped(JiraChangesReport mojo) { 46 | assertFalse(mojo.canGenerateReport()); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/announcement/MailSender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.announcement; 20 | 21 | /** 22 | * Defines the sender of the announcement if the list of developer is empty or if the sender is not a member of the 23 | * development team. 24 | * 25 | * @author Stephane Nicoll 26 | */ 27 | public class MailSender { 28 | 29 | private String name; 30 | 31 | private String email; 32 | 33 | public MailSender() { 34 | super(); 35 | } 36 | 37 | public MailSender(String name, String email) { 38 | this.name = name; 39 | this.email = email; 40 | } 41 | 42 | public String getName() { 43 | return name; 44 | } 45 | 46 | public void setName(String name) { 47 | this.name = name; 48 | } 49 | 50 | public String getEmail() { 51 | return email; 52 | } 53 | 54 | public void setEmail(String email) { 55 | this.email = email; 56 | } 57 | 58 | public String toString() { 59 | return getName() + " (" + getEmail() + ")"; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/trac/TracIssueManagmentSystem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.trac; 20 | 21 | import org.apache.maven.plugins.changes.IssueType; 22 | import org.apache.maven.plugins.changes.issues.AbstractIssueManagementSystem; 23 | 24 | /** 25 | * The Trac issue management system. 26 | * 27 | * @version $Id$ 28 | */ 29 | public class TracIssueManagmentSystem extends AbstractIssueManagementSystem { 30 | private static final String DEFAULT_ADD_TYPE = "New Feature"; 31 | 32 | private static final String DEFAULT_FIX_TYPE = "Bug"; 33 | 34 | private static final String DEFAULT_UPDATE_TYPE = "Improvement"; 35 | 36 | public TracIssueManagmentSystem() { 37 | super(); 38 | // The standard issue types for Trac (probably wrong) 39 | issueTypeMap.put(DEFAULT_ADD_TYPE, IssueType.ADD); 40 | issueTypeMap.put(DEFAULT_FIX_TYPE, IssueType.FIX); 41 | issueTypeMap.put(DEFAULT_UPDATE_TYPE, IssueType.UPDATE); 42 | } 43 | 44 | @Override 45 | public String getName() { 46 | return "Trac"; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/ReleaseTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import org.apache.maven.plugins.changes.model.Action; 25 | import org.apache.maven.plugins.changes.model.Release; 26 | import org.junit.jupiter.api.Test; 27 | 28 | import static org.junit.jupiter.api.Assertions.assertEquals; 29 | 30 | public class ReleaseTest { 31 | Release release = new Release(); 32 | 33 | @Test 34 | public void testGetSetVersion() { 35 | release.setVersion("version"); 36 | 37 | assertEquals("version", release.getVersion()); 38 | } 39 | 40 | @Test 41 | public void testGetSetDateRelease() { 42 | release.setDateRelease("12-09-1979"); 43 | 44 | assertEquals("12-09-1979", release.getDateRelease()); 45 | } 46 | 47 | @Test 48 | public void testGetSetAction() { 49 | List actionList = new ArrayList<>(); 50 | 51 | release.setActions(actionList); 52 | 53 | assertEquals(actionList, release.getActions()); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/it/announce-generate/verify.groovy: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | */ 20 | assert new File(basedir, 'target/announcement/announcement.vm').exists(); 21 | content = new File(basedir, 'target/announcement/announcement.vm').text; 22 | 23 | assert content.contains( 'Test report.' ); 24 | 25 | assert content.contains( 'Changes in this version include:' ); 26 | 27 | assert content.contains( 'New features:' ); 28 | 29 | assert content.contains( 'o Added additional documentation on how to configure the plugin.' ); 30 | 31 | assert content.contains( 'Fixed Bugs:' ); 32 | 33 | assert content.contains( 'o Enable retrieving component-specific issues. Issue: MCHANGES-88.' ); 34 | 35 | assert content.contains( 'Changes:' ); 36 | 37 | assert content.contains( 'o Handle different issue systems. Issue: MCHANGES-999.' ); 38 | 39 | assert content.contains( 'o Updated dependencies.' ); 40 | 41 | assert content.contains( 'Removed:' ); 42 | 43 | assert content.contains( 'o The element type \" link \" must be terminated by the matching end-tag.' ); 44 | 45 | assert content.contains( 'Deleted the erroneous code. Issue: MCHANGES-899.' ); 46 | 47 | return true; 48 | -------------------------------------------------------------------------------- /src/site/apt/examples/smtp-authentication.apt.vm: -------------------------------------------------------------------------------- 1 | ------ 2 | SMTP Authentication 3 | ------ 4 | Allan Ramirez 5 | ------ 6 | 21 October 2005 7 | ------ 8 | 9 | ~~ Licensed to the Apache Software Foundation (ASF) under one 10 | ~~ or more contributor license agreements. See the NOTICE file 11 | ~~ distributed with this work for additional information 12 | ~~ regarding copyright ownership. The ASF licenses this file 13 | ~~ to you under the Apache License, Version 2.0 (the 14 | ~~ "License"); you may not use this file except in compliance 15 | ~~ with the License. You may obtain a copy of the License at 16 | ~~ 17 | ~~ http://www.apache.org/licenses/LICENSE-2.0 18 | ~~ 19 | ~~ Unless required by applicable law or agreed to in writing, 20 | ~~ software distributed under the License is distributed on an 21 | ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 22 | ~~ KIND, either express or implied. See the License for the 23 | ~~ specific language governing permissions and limitations 24 | ~~ under the License. 25 | 26 | ~~ NOTE: For help with the syntax of this file, see: 27 | ~~ http://maven.apache.org/doxia/references/apt-format.html 28 | 29 | 30 | SMTP Authentication 31 | 32 | If the SMTP host needs authentication, you can provide your 33 | <<<\>>> and <<<\>>> in the <<<\>>> 34 | section: 35 | 36 | ------------------- 37 | 38 | ... 39 | 40 | 41 | 42 | org.apache.maven.plugins 43 | maven-changes-plugin 44 | ${project.version} 45 | 46 | mail.yourhost.com 47 | 25 48 | some@email.com 49 | somepassword 50 | ... 51 | 52 | 53 | 54 | 55 | ... 56 | 57 | ------------------- 58 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/ChangesXMLRuntimeException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes; 20 | 21 | /** 22 | * This is a runtime exception class that is thrown by the 23 | * {@link ChangesXML#ChangesXML(java.io.File, org.apache.maven.plugin.logging.Log)} constructor if the given 24 | * changes.xml file cannot be parsed, for example it is not well-formed or valid. 25 | * 26 | * @author Gabor Szabo 27 | */ 28 | public class ChangesXMLRuntimeException extends RuntimeException { 29 | /** The serialVersionUID **/ 30 | private static final long serialVersionUID = -8059557047280992301L; 31 | 32 | /** 33 | * Default constructor that sets the message. 34 | * 35 | * @param msg the exception message. 36 | */ 37 | public ChangesXMLRuntimeException(String msg) { 38 | super(msg); 39 | } 40 | 41 | /** 42 | * Constructor that sets the message and the cause of the exception. 43 | * 44 | * @param msg the exception message. 45 | * @param cause the cause. 46 | */ 47 | public ChangesXMLRuntimeException(String msg, Throwable cause) { 48 | super(msg, cause); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/jira/JiraUnicodeTestProjectStub.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.jira; 20 | 21 | import java.util.Collections; 22 | import java.util.List; 23 | 24 | import org.apache.maven.artifact.repository.ArtifactRepository; 25 | import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy; 26 | import org.apache.maven.artifact.repository.MavenArtifactRepository; 27 | import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; 28 | import org.apache.maven.plugin.testing.stubs.MavenProjectStub; 29 | 30 | /** 31 | * @version $Id$ 32 | */ 33 | public class JiraUnicodeTestProjectStub extends MavenProjectStub { 34 | 35 | /** {@inheritDoc} */ 36 | @Override 37 | public List getRemoteArtifactRepositories() { 38 | ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy( 39 | true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE); 40 | ArtifactRepository repository = new MavenArtifactRepository( 41 | "central", "https://repo.maven.apache.org/maven2", new DefaultRepositoryLayout(), policy, policy); 42 | 43 | return Collections.singletonList(repository); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/it/report-aggregated-changes-generation/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 36 | 37 | 38 | 41 | Uploaded documentation on how to use the plugin. 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/site/changes/sample-changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 22 | 23 | Sample Changes Report: Title 24 | Johnny R. Ruiz III 25 | 26 | 27 | 28 | 29 | (Sample Action) Added additional documentation on how to configure the component. 30 | 31 | 32 | Enable retrieving component-specific issues. 33 | 34 | 35 | The element type " link " must be terminated by the matching end-tag. 36 | Deleted the erroneous code. 37 | 38 | 39 | 40 | 41 | 42 | Uploaded documentation. 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/jira/UrlBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.jira; 20 | 21 | /** 22 | * Builder for a URL which build up of host part, a context part and 0 or more parameters. 23 | * 24 | * @author ton.swieb@finalist.com 25 | * @version $Id$ 26 | * @since 2.8 27 | */ 28 | public class UrlBuilder { 29 | private static final String AMPERSAND = "&"; 30 | 31 | private static final String QUESTION_MARK = "?"; 32 | 33 | private StringBuilder query = new StringBuilder(); 34 | 35 | public UrlBuilder(String url, String context) { 36 | query.append(url).append("/").append(context); 37 | } 38 | 39 | public UrlBuilder addParameter(String key, String value) { 40 | if (key != null && value != null) { 41 | if (query.toString().contains(QUESTION_MARK)) { 42 | query.append(AMPERSAND); 43 | } else { 44 | query.append(QUESTION_MARK); 45 | } 46 | query.append(key).append("=").append(value); 47 | } 48 | return this; 49 | } 50 | 51 | public UrlBuilder addParameter(String key, int value) { 52 | addParameter(key, String.valueOf(value)); 53 | return this; 54 | } 55 | 56 | public String build() { 57 | return query.toString(); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/model/AbstractRelease.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.model; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | import java.util.stream.Collectors; 24 | 25 | /** 26 | * Abstract calls with helper methods for {@link Release} 27 | */ 28 | public abstract class AbstractRelease { 29 | 30 | private final List components = new ArrayList<>(); 31 | 32 | public abstract List getActions(); 33 | 34 | /** 35 | * Retrieve action list by given type 36 | * 37 | * @param type action type 38 | * @return an action list 39 | */ 40 | public List getActions(String type) { 41 | return getActions().stream() 42 | .filter(a -> a.getType() != null) 43 | .filter(a -> a.getType().equalsIgnoreCase(type)) 44 | .collect(Collectors.toList()); 45 | } 46 | 47 | public void addComponent(String name, Release release) { 48 | final Component component = new Component(); 49 | component.setName(name); 50 | component.setDescription(release.getDescription()); 51 | component.setActions(release.getActions()); 52 | components.add(component); 53 | } 54 | 55 | public List getComponents() { 56 | return components; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/ActionTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes; 20 | 21 | import org.apache.maven.plugins.changes.model.Action; 22 | import org.junit.jupiter.api.Test; 23 | 24 | import static org.junit.jupiter.api.Assertions.assertEquals; 25 | 26 | public class ActionTest { 27 | Action action = new Action(); 28 | 29 | @Test 30 | public void testGetSetAction() { 31 | action.setAction("action"); 32 | 33 | assertEquals("action", action.getAction()); 34 | } 35 | 36 | @Test 37 | public void testGetSetDev() { 38 | action.setDev("developer"); 39 | 40 | assertEquals("developer", action.getDev()); 41 | } 42 | 43 | @Test 44 | public void testGetSetType() { 45 | action.setType("type"); 46 | 47 | assertEquals("type", action.getType()); 48 | } 49 | 50 | @Test 51 | public void testGetSetIssue() { 52 | action.setIssue("issue"); 53 | 54 | assertEquals("issue", action.getIssue()); 55 | } 56 | 57 | @Test 58 | public void testGetSetDueTo() { 59 | action.setDueTo("due-to"); 60 | 61 | assertEquals("due-to", action.getDueTo()); 62 | } 63 | 64 | @Test 65 | public void testGetSetDueToEmail() { 66 | action.setDueToEmail("due-to-mail"); 67 | 68 | assertEquals("due-to-mail", action.getDueToEmail()); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/it/report-changes-generation/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | 21 | def report = new File(basedir, 'target/site/changes.html') 22 | assert report.exists() 23 | 24 | def content = report.text 25 | 26 | assert content.contains('Changes'): 'changes.html doesn\'t contain Changes title' 27 | 28 | assert content.contains('href="http://myjira/browse/MCHANGES-88"'): 'changes.html doesn\'t contain jira issue link' 29 | 30 | // Test for output problem caused by only using elements 31 | assert !content.contains('Thanks to , '): 'changes.html has too many dueTos in the Map' 32 | 33 | // Tests output problems caused by only using fixedIssues attribute 34 | assert content.contains('bug-12345'): 'changes.html doesn\'t contain issue text for issue specified with element' 35 | assert !content.contains('Fixes .'): 'changes.html doesn\'t handle empty fixes attribute properly' 36 | 37 | // due-to verification 38 | assert content.contains('John Doe') 39 | assert content.contains('Thanks to External Submitter,') 40 | assert content.contains('others') 41 | // no link to empty dev value 42 | assert content.contains('-') 43 | 44 | // HTML tags in action text are escaped, and not passed as raw text 45 | assert content.contains('<strong>HTML tags</strong> are escaped and not passed as raw text.') 46 | -------------------------------------------------------------------------------- /src/it/report-changes-system/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 36 | Enable retrieving component-specific issues. 37 | 38 | 39 | The element type " link " must be terminated by the matching end-tag. 40 | Deleted the erroneous code. 41 | 42 | 43 | 44 | 45 | 46 | Uploaded documentation on how to use the plugin. 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/site/apt/examples/check-changes-file.apt.vm: -------------------------------------------------------------------------------- 1 | ------ 2 | Check Your changes.xml File 3 | ------ 4 | Dennis Lundberg 5 | ------ 6 | 2011-03-30 7 | ------ 8 | 9 | ~~ Licensed to the Apache Software Foundation (ASF) under one 10 | ~~ or more contributor license agreements. See the NOTICE file 11 | ~~ distributed with this work for additional information 12 | ~~ regarding copyright ownership. The ASF licenses this file 13 | ~~ to you under the Apache License, Version 2.0 (the 14 | ~~ "License"); you may not use this file except in compliance 15 | ~~ with the License. You may obtain a copy of the License at 16 | ~~ 17 | ~~ http://www.apache.org/licenses/LICENSE-2.0 18 | ~~ 19 | ~~ Unless required by applicable law or agreed to in writing, 20 | ~~ software distributed under the License is distributed on an 21 | ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 22 | ~~ KIND, either express or implied. See the License for the 23 | ~~ specific language governing permissions and limitations 24 | ~~ under the License. 25 | 26 | ~~ NOTE: For help with the syntax of this file, see: 27 | ~~ http://maven.apache.org/doxia/references/apt-format.html 28 | 29 | 30 | Check Your changes.xml File 31 | 32 | Since version 2.4 this plugin has a {{{../changes-check-mojo.html}goal}} that 33 | checks that your <<>> file has a valid release date. 34 | 35 | You can attach this goal to the <<>> phase if you want the check to 36 | be performed automatically when you build the project. 37 | 38 | * Configuring the Plugin 39 | 40 | Configure the plugin like this to tell it to check your <<>> 41 | file. 42 | 43 | +-----------------+ 44 | 45 | ... 46 | 47 | 48 | 49 | org.apache.maven.plugins 50 | maven-changes-plugin 51 | ${project.version} 52 | 53 | 54 | check-changes 55 | verify 56 | 57 | changes-check 58 | 59 | 60 | 61 | 62 | 63 | 64 | ... 65 | 66 | +-----------------+ 67 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/issues/IssueTestCase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.issues; 20 | 21 | import org.junit.jupiter.api.BeforeEach; 22 | import org.junit.jupiter.api.Test; 23 | 24 | import static org.junit.jupiter.api.Assertions.assertEquals; 25 | 26 | /** 27 | * Tests for the Issue class. 28 | * 29 | * @author Dennis Lundberg 30 | * @version $Id$ 31 | */ 32 | public class IssueTestCase { 33 | Issue issue; 34 | 35 | @BeforeEach 36 | public void setUp() { 37 | issue = new Issue(); 38 | } 39 | 40 | @Test 41 | public void testGetSetAssignee() { 42 | issue.setAssignee("assignee"); 43 | 44 | assertEquals("assignee", issue.getAssignee()); 45 | } 46 | 47 | @Test 48 | public void testGetSetKey() { 49 | issue.setKey("key"); 50 | 51 | assertEquals("key", issue.getKey()); 52 | } 53 | 54 | @Test 55 | public void testGetSetResolution() { 56 | issue.setResolution("resolution"); 57 | 58 | assertEquals("resolution", issue.getResolution()); 59 | } 60 | 61 | @Test 62 | public void testGetSetStatus() { 63 | issue.setStatus("status"); 64 | 65 | assertEquals("status", issue.getStatus()); 66 | } 67 | 68 | @Test 69 | public void testGetSetSummary() { 70 | issue.setSummary("summary"); 71 | 72 | assertEquals("summary", issue.getSummary()); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/it/announcement-generate-custom-template/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 36 | The element type " link " must be terminated by the matching end-tag. 37 | Deleted the erroneous code. 38 | 39 | 40 | 41 | 42 | 45 | Uploaded documentation on how to use the plugin. 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/issues/IssueManagementSystem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.issues; 20 | 21 | import java.util.Map; 22 | 23 | import org.apache.maven.plugin.MojoExecutionException; 24 | import org.apache.maven.plugins.changes.IssueType; 25 | 26 | /** 27 | * An interface for issue management systems. 28 | *

29 | * The plan is to enhance this interface to allow communication with different issue management systems in a consistent 30 | * way. 31 | * 32 | * @version $Id$ 33 | */ 34 | public interface IssueManagementSystem { 35 | 36 | /** 37 | * Get a mapping of issue types used in this issue management system to the ones used in a changes.xml file. 38 | * 39 | * @return The map from keys used in poms and other config files to issue types. 40 | */ 41 | Map getIssueTypeMap(); 42 | 43 | /** 44 | * Get the name of the issue management system. 45 | * 46 | * @return The name of the IMS. 47 | */ 48 | String getName(); 49 | 50 | /** 51 | * Configure this issue management system. 52 | * 53 | * @param issueTypes The mapping of issue types used in this issue management system to the ones used in a 54 | * changes.xml file 55 | * @throws MojoExecutionException If the configuration fails 56 | */ 57 | void applyConfiguration(Map issueTypes) throws MojoExecutionException; 58 | } 59 | -------------------------------------------------------------------------------- /src/it/announcement-generate-custom-template/verify.bsh: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | */ 20 | 21 | import java.io.*; 22 | import java.nio.file.*; 23 | import java.util.*; 24 | import java.util.jar.*; 25 | 26 | boolean result = true; 27 | 28 | try 29 | { 30 | File report = new File( basedir, "target/announcement/test-announce.vm" ); 31 | if ( !report.exists() ) 32 | { 33 | System.err.println( "report file is missing." ); 34 | return false; 35 | } 36 | if ( report.isDirectory() ) 37 | { 38 | System.err.println( "report file is a directory." ); 39 | return false; 40 | } 41 | String reportContent = new String(Files.readAllBytes( report.toPath() ), "UTF-8"); 42 | 43 | int indexOf = reportContent.indexOf( "maven-changes-plugin-test-1.1 release" ); 44 | if ( indexOf < 0 ) 45 | { 46 | System.err.println( "test-announce.vm doesn't contain 'maven-changes-plugin-test-1.1 release'" ); 47 | return false; 48 | } 49 | 50 | indexOf = reportContent.indexOf( "Test Announcement Custom template" ); 51 | if ( indexOf < 0 ) 52 | { 53 | System.err.println( "Test Announcement Custom template" ); 54 | return false; 55 | } 56 | 57 | indexOf = reportContent.indexOf( "$date.systemDate" ); 58 | if ( indexOf >= 0 ) 59 | { 60 | System.err.println( "$date.systemDate not resolved" ); 61 | return false; 62 | } 63 | 64 | 65 | } 66 | catch( Throwable e ) 67 | { 68 | e.printStackTrace(); 69 | result = false; 70 | } 71 | 72 | return result; 73 | -------------------------------------------------------------------------------- /src/it/report-jira-invalid-issuemanagement/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 36 | Enable retrieving component-specific issues. 37 | 38 | 39 | Updated library dependency. 40 | 41 | 42 | The element type " link " must be terminated by the matching end-tag. 43 | Deleted the erroneous code. 44 | 45 | 46 | 47 | 48 | 49 | Uploaded documentation on how to use the plugin. 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/it/report-changes-system-noissuemanagement/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 36 | Enable retrieving component-specific issues. 37 | 38 | 39 | Updated library dependency. 40 | 41 | 42 | The element type " link " must be terminated by the matching end-tag. 43 | Deleted the erroneous code. 44 | 45 | 46 | 47 | 48 | 49 | Uploaded documentation on how to use the plugin. 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/site/apt/examples/alternate-changes-xml-location.apt.vm: -------------------------------------------------------------------------------- 1 | ------ 2 | Alternate Location for the changes.xml File 3 | ------ 4 | Dennis Lundberg 5 | ------ 6 | 15 July 2006 7 | ------ 8 | 9 | ~~ Licensed to the Apache Software Foundation (ASF) under one 10 | ~~ or more contributor license agreements. See the NOTICE file 11 | ~~ distributed with this work for additional information 12 | ~~ regarding copyright ownership. The ASF licenses this file 13 | ~~ to you under the Apache License, Version 2.0 (the 14 | ~~ "License"); you may not use this file except in compliance 15 | ~~ with the License. You may obtain a copy of the License at 16 | ~~ 17 | ~~ http://www.apache.org/licenses/LICENSE-2.0 18 | ~~ 19 | ~~ Unless required by applicable law or agreed to in writing, 20 | ~~ software distributed under the License is distributed on an 21 | ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 22 | ~~ KIND, either express or implied. See the License for the 23 | ~~ specific language governing permissions and limitations 24 | ~~ under the License. 25 | 26 | ~~ NOTE: For help with the syntax of this file, see: 27 | ~~ http://maven.apache.org/doxia/references/apt-format.html 28 | 29 | 30 | Alternate Location for the <<>> File 31 | 32 | <> Unless you have a specific reason to have your <<>> 33 | file in a different location, we advice you to put it in the default location 34 | <<<$\{basedir\}/src/changes/changes.xml>>>. If nothing else, it saves you from 35 | having to configure it. 36 | 37 | If you want to have your <<>> in another location than 38 | the default location, you can do this by configuring your <<>>. In 39 | this example we want to use the file <<<$\{basedir\}/src/site/changes.xml>>>: 40 | 41 | +-----------------+ 42 | 43 | ... 44 | 45 | 46 | 47 | org.apache.maven.plugins 48 | maven-changes-plugin 49 | ${project.version} 50 | 51 | ${basedir}/src/site/changes.xml 52 | 53 | 54 | 55 | 56 | changes 57 | 58 | 59 | 60 | 61 | 62 | 63 | ... 64 | 65 | +-----------------+ 66 | -------------------------------------------------------------------------------- /src/it/announce-generate/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | org.apache.maven.plugins 26 | maven-changes-plugin-test 27 | 1.1 28 | Maven 29 | jar 30 | Test report. 31 | http://www.foo.com 32 | 33 | 34 | junit 35 | junit 36 | 3.8.1 37 | test 38 | 39 | 40 | 41 | jira 42 | http://localhost/bla 43 | 44 | 45 | @project.version@ 46 | 47 | 48 | 49 | 50 | 51 | org.apache.maven.plugins 52 | maven-changes-plugin 53 | ${changesPluginVersion} 54 | 55 | 56 | 57 | 58 | 59 | org.apache.maven.plugins 60 | maven-changes-plugin 61 | ${changesPluginVersion} 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/it/report-changes-system/verify.bsh: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | */ 20 | 21 | import java.io.*; 22 | import java.nio.file.*; 23 | import java.util.*; 24 | import java.util.jar.*; 25 | 26 | boolean result = true; 27 | 28 | try 29 | { 30 | File report = new File( basedir, "target/site/en/changes.html" ); 31 | if ( !report.exists() ) 32 | { 33 | System.err.println( "report file is missing." ); 34 | return false; 35 | } 36 | if ( report.isDirectory() ) 37 | { 38 | System.err.println( "report file is a directory." ); 39 | return false; 40 | } 41 | String reportContent = new String(Files.readAllBytes( report.toPath() ), "UTF-8"); 42 | 43 | int indexOf = reportContent.indexOf( "Changes" ); 44 | if ( indexOf < 0 ) 45 | { 46 | System.err.println( "changes.html doesn't contain Changes title" ); 47 | return false; 48 | } 49 | 50 | indexOf = reportContent.indexOf( "href=\"http://myjira/browse/MCHANGES-88\"" ); 51 | if ( indexOf < 0 ) 52 | { 53 | System.err.println( "changes.html doesn't contain jira issue link" ); 54 | return false; 55 | } 56 | indexOf = reportContent.indexOf( "href=\"http://localhost/1212\"" ); 57 | if ( indexOf < 0 ) 58 | { 59 | System.err.println( "changes.html doesn't contain qc issue link" ); 60 | return false; 61 | } 62 | indexOf = reportContent.indexOf( "2008-01-01" ); 63 | if ( indexOf < 0 ) 64 | { 65 | System.err.println( "changes.html doesn't contain date 2008-01-01" ); 66 | return false; 67 | } 68 | } 69 | catch( Throwable e ) 70 | { 71 | e.printStackTrace(); 72 | result = false; 73 | } 74 | 75 | return result; 76 | -------------------------------------------------------------------------------- /src/it/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 21 | 22 | 24 | 25 | 26 | it-repo 27 | 28 | true 29 | 30 | 31 | 32 | local.central 33 | @localRepositoryUrl@ 34 | 35 | true 36 | 37 | 38 | true 39 | 40 | 41 | 42 | 43 | 44 | local.central 45 | @localRepositoryUrl@ 46 | 47 | true 48 | 49 | 50 | true 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | jira 60 | jira-test 61 | 62 | {xZLx2669VMsHnW8pO9Ehd1FLMrPsCOQ3g2MiRNNA5vI=} 63 | 64 | 65 | github 66 | 67 | {d0C24IDj+NEH8LOV7aQGx+yYDYR7nI4T9okO70geQuc=} 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/site/apt/examples/changes-file-validation.apt.vm: -------------------------------------------------------------------------------- 1 | ------ 2 | Validate Your changes.xml File 3 | ------ 4 | Olivier Lamy 5 | ------ 6 | 2011-03-30 7 | ------ 8 | 9 | ~~ Licensed to the Apache Software Foundation (ASF) under one 10 | ~~ or more contributor license agreements. See the NOTICE file 11 | ~~ distributed with this work for additional information 12 | ~~ regarding copyright ownership. The ASF licenses this file 13 | ~~ to you under the Apache License, Version 2.0 (the 14 | ~~ "License"); you may not use this file except in compliance 15 | ~~ with the License. You may obtain a copy of the License at 16 | ~~ 17 | ~~ http://www.apache.org/licenses/LICENSE-2.0 18 | ~~ 19 | ~~ Unless required by applicable law or agreed to in writing, 20 | ~~ software distributed under the License is distributed on an 21 | ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 22 | ~~ KIND, either express or implied. See the License for the 23 | ~~ specific language governing permissions and limitations 24 | ~~ under the License. 25 | 26 | ~~ NOTE: For help with the syntax of this file, see: 27 | ~~ http://maven.apache.org/doxia/references/apt-format.html 28 | 29 | 30 | Validate Your changes.xml File 31 | 32 | Since 2.1, a {{{../changes-validate-mojo.html}goal}} is 33 | provided to validate your <<>> file. 34 | 35 | You can attach this goal to the <<>> phase if you want the 36 | validation to be performed automatically when you generate the site. 37 | 38 | * Configuring the Plugin 39 | 40 | First you must configure the plugin and tell it to validate your <<>> file. 41 | 42 | +-----------------+ 43 | 44 | ... 45 | 46 | 47 | 48 | org.apache.maven.plugins 49 | maven-changes-plugin 50 | ${project.version} 51 | 52 | 53 | validate-changes 54 | pre-site 55 | 56 | changes-validate 57 | 58 | 59 | 61 | true 62 | 63 | 64 | 65 | 66 | 67 | 68 | ... 69 | 70 | +-----------------+ 71 | 72 | -------------------------------------------------------------------------------- /src/site/apt/examples/include-announcement-file.apt.vm: -------------------------------------------------------------------------------- 1 | ------ 2 | Include an Announcement File in Your Packaging 3 | ------ 4 | Dennis Lundberg 5 | ------ 6 | 2011-01-01 7 | ------ 8 | 9 | ~~ Licensed to the Apache Software Foundation (ASF) under one 10 | ~~ or more contributor license agreements. See the NOTICE file 11 | ~~ distributed with this work for additional information 12 | ~~ regarding copyright ownership. The ASF licenses this file 13 | ~~ to you under the Apache License, Version 2.0 (the 14 | ~~ "License"); you may not use this file except in compliance 15 | ~~ with the License. You may obtain a copy of the License at 16 | ~~ 17 | ~~ http://www.apache.org/licenses/LICENSE-2.0 18 | ~~ 19 | ~~ Unless required by applicable law or agreed to in writing, 20 | ~~ software distributed under the License is distributed on an 21 | ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 22 | ~~ KIND, either express or implied. See the License for the 23 | ~~ specific language governing permissions and limitations 24 | ~~ under the License. 25 | 26 | ~~ NOTE: For help with the syntax of this file, see: 27 | ~~ http://maven.apache.org/doxia/references/apt-format.html 28 | 29 | 30 | Include an Announcement File in Your Packaging 31 | 32 | Since version 2.4 this plugin has options that allows you to put the generated 33 | announcement file anywhere you like. This makes it possible to include the 34 | generated announcement in your packaging. 35 | 36 | * Configuring the Plugin 37 | 38 | In this example we want to call the generated announcement file 39 | <<>> and have it put into the <<>> directory of the 40 | project's JAR file. To do this we configure the Changes Plugin like this: 41 | 42 | +-----------------+ 43 | 44 | ... 45 | 46 | 47 | 48 | org.apache.maven.plugins 49 | maven-changes-plugin 50 | ${project.version} 51 | 52 | 53 | include-announcement-file 54 | generate-resources 55 | 56 | announcement-generate 57 | 58 | 59 | CHANGES.txt 60 | \${project.build.outputDirectory}/META-INF 61 | 62 | 63 | 64 | 65 | 66 | 67 | ... 68 | 69 | +-----------------+ 70 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/jira/UrlBuilderTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.jira; 20 | 21 | import org.junit.jupiter.api.Test; 22 | 23 | import static org.junit.jupiter.api.Assertions.assertEquals; 24 | 25 | /** 26 | * Test class for {@link UrlBuilder} 27 | * 28 | * @author ton.swieb@finalist.com 29 | * @version $Id$ 30 | * @since 2.8 31 | */ 32 | public class UrlBuilderTest { 33 | @Test 34 | public void testUrlWithoutParameters() { 35 | String expected = "http://www.jira.com/context"; 36 | String actual = new UrlBuilder("http://www.jira.com", "context").build(); 37 | assertEquals(expected, actual); 38 | } 39 | 40 | @Test 41 | public void testUrlWithSingleParameter() { 42 | String expected = "http://www.jira.com/context?key1=value1"; 43 | String actual = new UrlBuilder("http://www.jira.com", "context") 44 | .addParameter("key1", "value1") 45 | .build(); 46 | assertEquals(expected, actual); 47 | } 48 | 49 | @Test 50 | public void testUrlWithMultipleParameters() { 51 | String expected = "http://www.jira.com/context?key1=value1&key2=value2"; 52 | String actual = new UrlBuilder("http://www.jira.com", "context") 53 | .addParameter("key1", "value1") 54 | .addParameter("key2", "value2") 55 | .build(); 56 | assertEquals(expected, actual); 57 | } 58 | 59 | @Test 60 | public void testUrlWithIntParameter() { 61 | String expected = "http://www.jira.com/context?key1=1"; 62 | String actual = new UrlBuilder("http://www.jira.com", "context") 63 | .addParameter("key1", 1) 64 | .build(); 65 | assertEquals(expected, actual); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/issues/IssueManagementSystemTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.issues; 20 | 21 | import java.util.HashMap; 22 | import java.util.Map; 23 | 24 | import org.apache.maven.plugin.MojoExecutionException; 25 | import org.junit.jupiter.api.BeforeEach; 26 | import org.junit.jupiter.api.Test; 27 | 28 | import static org.junit.jupiter.api.Assertions.fail; 29 | 30 | /** 31 | * @author Alan Parkinson 32 | * @version $Id$ 33 | * @since 2.7 34 | */ 35 | public class IssueManagementSystemTest { 36 | 37 | private MockIssueManagementSystem ims; 38 | 39 | private static class MockIssueManagementSystem extends AbstractIssueManagementSystem { 40 | 41 | @Override 42 | public String getName() { 43 | return "Mock IMS"; 44 | } 45 | } 46 | 47 | @BeforeEach 48 | public void setUp() { 49 | ims = new MockIssueManagementSystem(); 50 | } 51 | 52 | @Test 53 | public void testApplyingValidCustomIssueTypes() { 54 | Map issueTypes = new HashMap<>(); 55 | issueTypes.put("add", "Story,Epic"); 56 | issueTypes.put("fix", "Defect"); 57 | issueTypes.put("update", "Improvement"); 58 | 59 | try { 60 | ims.applyConfiguration(issueTypes); 61 | } catch (MojoExecutionException e) { 62 | fail(); 63 | } 64 | } 65 | 66 | @Test 67 | public void testApplyingInvalidCustomIssueTypes() { 68 | Map issueTypes = new HashMap<>(); 69 | issueTypes.put("new", "Story,Epic"); 70 | 71 | try { 72 | ims.applyConfiguration(issueTypes); 73 | fail("Exception not thrown for invalid group name"); 74 | } catch (MojoExecutionException ignored) { 75 | 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/test/unit/changes.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 23 | Changes report Project 24 | Mr Zloug 25 | 26 | 27 | 28 | 29 | Added additional documentation on how to configure the plugin. 30 | 31 | 32 | Enable retrieving component-specific issues. 33 | 34 | 35 | Enable retrieving component-specific issues. 36 | 37 | 38 | The element type " link " must be terminated 39 | by the matching end-tag. 40 | Deleted the erroneous code. 41 | 42 | 43 | 44 | 46 | Uploaded documentation on how to use the plugin. 47 | 48 | 49 | 50 | 52 | Uploaded documentation on how to use the plugin. 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/AbstractChangesReport.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes; 20 | 21 | import org.apache.maven.execution.MavenSession; 22 | import org.apache.maven.plugins.annotations.Parameter; 23 | import org.apache.maven.reporting.AbstractMavenReport; 24 | 25 | /** 26 | * Base class with the things that should be in AbstractMavenReport anyway. Note: This file was copied from r415312 of 27 | * AbstractProjectInfoReport in maven-project-info-reports, as a work-around to MCHANGES-88. 28 | * 29 | * @author Brett Porter 30 | */ 31 | public abstract class AbstractChangesReport extends AbstractMavenReport { 32 | /** 33 | * The current project base directory. 34 | * 35 | * @since 2.10 36 | */ 37 | @Parameter(property = "basedir", required = true) 38 | protected String basedir; 39 | 40 | /** 41 | * This will cause the execution to be run only at the top of a given module tree. That is, run in the project 42 | * contained in the same folder where the mvn execution was launched. 43 | * 44 | * @since 2.10 45 | */ 46 | @Parameter(property = "changes.runOnlyAtExecutionRoot", defaultValue = "false") 47 | protected boolean runOnlyAtExecutionRoot; 48 | 49 | /** 50 | * The Maven Session. 51 | * 52 | * @since 2.10 53 | */ 54 | @Parameter(defaultValue = "${session}", readonly = true, required = true) 55 | protected MavenSession mavenSession; 56 | 57 | /** 58 | * Returns true if the current project is located at the Execution Root Directory (where mvn was 59 | * launched). 60 | * 61 | * @return true if the current project is at the Execution Root 62 | */ 63 | protected boolean isThisTheExecutionRoot() { 64 | return getProject().isExecutionRoot(); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/main/java/org/apache/maven/plugins/changes/ProjectUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes; 20 | 21 | import org.apache.maven.project.MavenProject; 22 | 23 | /** 24 | * A utility class for working with Project objects. 25 | * 26 | * @author Dennis Lundberg 27 | * @version $Id$ 28 | * @since 2.4 29 | */ 30 | public final class ProjectUtils { 31 | 32 | private ProjectUtils() {} 33 | 34 | /** 35 | * Check if the issue management system has been properly configured in the Maven project. 36 | * 37 | * @param project The Maven project 38 | * @param issueManagementSystem The name of the issue management system that is required 39 | * @param mojoResult What the calling mojo produces, used in the error messages 40 | * @return null if the <issueManagement> element of the POM is complete, otherwise a String 41 | * containing the reason of the failed validation. 42 | */ 43 | public static String validateIssueManagement( 44 | MavenProject project, String issueManagementSystem, String mojoResult) { 45 | if (project.getIssueManagement() == null) { 46 | return "No Issue Management set. No " + mojoResult + " will be generated."; 47 | } else if ((project.getIssueManagement().getUrl() == null) 48 | || (project.getIssueManagement().getUrl().trim().isEmpty())) { 49 | return "No URL set in Issue Management. No " + mojoResult + " will be generated."; 50 | } else if ((project.getIssueManagement().getSystem() != null) 51 | && !(project.getIssueManagement().getSystem().equalsIgnoreCase(issueManagementSystem))) { 52 | return "The " + mojoResult + " only supports " + issueManagementSystem + ". No " + mojoResult 53 | + " will be generated."; 54 | } 55 | return null; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/test/unit/announce-changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 38 | The element type " link " must be terminated by the matching end-tag. 39 | Deleted the erroneous code. 40 | 41 | 44 | Handle different issue systems. 45 | 46 | 48 | Updated dependencies. 49 | 50 | 51 | 52 | 53 | 56 | Uploaded documentation on how to use the plugin. 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /src/it/report-github/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | org.apache.maven.plugins 26 | maven-changes-plugin-test 27 | 99.0 28 | Maven 29 | jar 30 | 31 | 32 | @project.version@ 33 | 34 | 35 | 36 | GitHub 37 | ${mockServerUrl}/owner-name/repo-name/issues 38 | 39 | 40 | 41 | 42 | 43 | 44 | org.apache.maven.plugins 45 | maven-changes-plugin 46 | ${changesPluginVersion} 47 | 48 | 49 | org.apache.maven.plugins 50 | maven-site-plugin 51 | @sitePluginVersion@ 52 | 53 | 54 | 55 | 56 | 57 | 58 | true 59 | 60 | 61 | org.apache.maven.plugins 62 | maven-changes-plugin 63 | @project.version@ 64 | 65 | 66 | 67 | github-changes 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /src/it/announce-generate-no-issue-management/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | org.apache.maven.plugins 26 | maven-changes-plugin-test 27 | 1.1 28 | Maven 29 | jar 30 | Test that an exception is thrown if an issue management system is set but there is no Issue Management 31 | in the POM 32 | http://www.foo.com 33 | 34 | 35 | junit 36 | junit 37 | 3.8.1 38 | test 39 | 40 | 41 | 42 | 43 | @project.version@ 44 | 45 | 46 | 47 | 48 | 49 | org.apache.maven.plugins 50 | maven-changes-plugin 51 | ${changesPluginVersion} 52 | 53 | 54 | 55 | 56 | 57 | org.apache.maven.plugins 58 | maven-changes-plugin 59 | ${changesPluginVersion} 60 | 61 | 62 | JIRA 63 | 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /src/it/report-changes-system-noissuemanagement/verify.bsh: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | */ 20 | 21 | import java.io.*; 22 | import java.nio.file.*; 23 | import java.util.*; 24 | import java.util.jar.*; 25 | 26 | boolean result = true; 27 | 28 | try 29 | { 30 | File report = new File( basedir, "target/site/changes.html" ); 31 | if ( !report.exists() ) 32 | { 33 | System.err.println( "report file is missing." ); 34 | return false; 35 | } 36 | if ( report.isDirectory() ) 37 | { 38 | System.err.println( "report file is a directory." ); 39 | return false; 40 | } 41 | String reportContent = new String(Files.readAllBytes( report.toPath() ), "UTF-8"); 42 | 43 | int indexOf = reportContent.indexOf( "Changes" ); 44 | if ( indexOf < 0 ) 45 | { 46 | System.err.println( "changes.html doesn't contain Changes title" ); 47 | return false; 48 | } 49 | 50 | indexOf = reportContent.indexOf( "href=\"http://myjira/browse/MCHANGES-88\"" ); 51 | if ( indexOf < 0 ) 52 | { 53 | System.err.println( "changes.html doesn't contain jira issue link" ); 54 | return false; 55 | } 56 | indexOf = reportContent.indexOf( "href=\"http://localhost/1212\"" ); 57 | if ( indexOf < 0 ) 58 | { 59 | System.err.println( "changes.html doesn't contain qc issue link" ); 60 | return false; 61 | } 62 | indexOf = reportContent.indexOf( "href=\"http://www.redmine.org/show/issue/88\"" ); 63 | if ( indexOf < 0 ) 64 | { 65 | System.err.println( "changes.html doesn't contain redmine issue link" ); 66 | return false; 67 | } 68 | indexOf = reportContent.indexOf( "2008-01-01" ); 69 | if ( indexOf < 0 ) 70 | { 71 | System.err.println( "changes.html doesn't contain date 2008-01-01" ); 72 | return false; 73 | } 74 | 75 | 76 | } 77 | catch( Throwable e ) 78 | { 79 | e.printStackTrace(); 80 | result = false; 81 | } 82 | 83 | return result; 84 | -------------------------------------------------------------------------------- /src/it/report-changes-interpolation/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 38 | The element type " link " must be terminated by the matching end-tag. 39 | Deleted the erroneous code. 40 | 41 | 44 | Handle different issue systems. 45 | 46 | 48 | Updated dependencies. 49 | 50 | 51 | 52 | 53 | 56 | Uploaded documentation on how to use the plugin. 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /src/test/java/org/apache/maven/plugins/changes/issues/IssueUtilsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.maven.plugins.changes.issues; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import org.apache.maven.plugin.MojoExecutionException; 25 | import org.junit.jupiter.api.Test; 26 | 27 | import static org.junit.jupiter.api.Assertions.assertEquals; 28 | import static org.junit.jupiter.api.Assertions.fail; 29 | 30 | /** 31 | * Tests for the IssueUtils class. 32 | * 33 | * @author Dennis Lundberg 34 | * @version $Id$ 35 | * @since 2.4 36 | */ 37 | public class IssueUtilsTest { 38 | @Test 39 | public void testFilterIssuesWithVersionPrefix() { 40 | Issue issue1; 41 | issue1 = new Issue(); 42 | issue1.setId("1"); 43 | issue1.addFixVersion("myPrefix-1.0"); 44 | 45 | Issue issue2; 46 | issue2 = new Issue(); 47 | issue2.setId("2"); 48 | issue2.addFixVersion("1.0"); 49 | 50 | List issueList = new ArrayList<>(); 51 | issueList.add(issue1); 52 | issueList.add(issue2); 53 | 54 | List filteredIssues; 55 | try { 56 | filteredIssues = IssueUtils.filterIssuesWithVersionPrefix(issueList, null); 57 | assertEquals(2, filteredIssues.size()); 58 | 59 | filteredIssues = IssueUtils.filterIssuesWithVersionPrefix(issueList, ""); 60 | assertEquals(2, filteredIssues.size()); 61 | 62 | filteredIssues = IssueUtils.filterIssuesWithVersionPrefix(issueList, "myPrefix-"); 63 | assertEquals(1, filteredIssues.size()); 64 | } catch (MojoExecutionException e) { 65 | fail(e.getMessage()); 66 | } 67 | 68 | try { 69 | IssueUtils.filterIssuesWithVersionPrefix(issueList, "yourPrefix-"); 70 | fail("No issues should be found."); 71 | } catch (MojoExecutionException e) { 72 | // Expected 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/test/manual-tests/report-sandbox/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | org.apache.maven.plugins 26 | maven-changes-plugin-report-sandbox 27 | 1-SNAPSHOT 28 | 29 | jira 30 | https://issues.apache.org/jira/browse/ACCUMULO 31 | 32 | 33 | 2.9-SNAPSHOT 34 | 35 | 36 | 37 | 38 | 39 | org.apache.maven.plugins 40 | maven-site-plugin 41 | 3.2 42 | 43 | true 44 | false 45 | false 46 | 47 | 48 | 49 | 50 | 51 | 52 | true 53 | 54 | 55 | org.apache.maven.plugins 56 | maven-changes-plugin 57 | ${changesPluginVersion} 58 | 59 | true 60 | 61 | 62 | 63 | 64 | jira-report 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /src/it/email-sender/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 38 | The element type " link " must be terminated by the matching end-tag. 39 | Deleted the erroneous code. 40 | 41 | 45 | Handle different issue systems. 46 | 47 | 49 | Updated dependencies. 50 | 51 | 52 | 53 | 54 | 57 | Uploaded documentation on how to use the plugin. 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/it/announce-generate-no-url/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | org.apache.maven.plugins 26 | maven-changes-plugin-test 27 | 1.1 28 | Maven 29 | jar 30 | Test that an exception is thrown if an issue management system is set but there is no URL in the Issue 31 | Management in the POM 32 | http://www.foo.com 33 | 34 | 35 | junit 36 | junit 37 | 3.8.1 38 | test 39 | 40 | 41 | 42 | GitHub 43 | 44 | 45 | 46 | @project.version@ 47 | 48 | 49 | 50 | 51 | 52 | org.apache.maven.plugins 53 | maven-changes-plugin 54 | ${changesPluginVersion} 55 | 56 | 57 | 58 | 59 | 60 | org.apache.maven.plugins 61 | maven-changes-plugin 62 | ${changesPluginVersion} 63 | 64 | 65 | GitHub 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/it/announce-generate/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 38 | The element type " link " must be terminated by the matching end-tag. 39 | Deleted the erroneous code. 40 | 41 | 45 | Handle different issue systems. 46 | 47 | 49 | Updated dependencies. 50 | 51 | 52 | 53 | 54 | 57 | Uploaded documentation on how to use the plugin. 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/it/announce-generate-no-url/src/changes/changes.xml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 23 | 24 | Changes report Project 25 | Mr Zloug 26 | 27 | 28 | 29 | 30 | Added additional documentation on how to configure the plugin. 31 | 32 | 33 | Enable retrieving component-specific issues. 34 | 35 | 38 | The element type " link " must be terminated by the matching end-tag. 39 | Deleted the erroneous code. 40 | 41 | 45 | Handle different issue systems. 46 | 47 | 49 | Updated dependencies. 50 | 51 | 52 | 53 | 54 | 57 | Uploaded documentation on how to use the plugin. 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/it/report-jira/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 24 | 4.0.0 25 | org.apache.maven.plugins 26 | maven-changes-plugin-test 27 | 99.0 28 | Maven 29 | jar 30 | 31 | 32 | @project.version@ 33 | 34 | 35 | 36 | jira 37 | ${mockServerUrl}/browse/TEST_PROJECT 38 | 39 | 40 | 41 | 42 | 43 | 44 | org.apache.maven.plugins 45 | maven-changes-plugin 46 | ${changesPluginVersion} 47 | 48 | 49 | org.apache.maven.plugins 50 | maven-site-plugin 51 | @sitePluginVersion@ 52 | 53 | 54 | 55 | 56 | 57 | 58 | true 59 | 60 | 61 | org.apache.maven.plugins 62 | maven-changes-plugin 63 | @project.version@ 64 | 65 | 66 | 67 | jira-changes 68 | 69 | 70 | 71 | 72 | jira 73 | 74 | 75 | 76 | 77 | 78 | 79 | --------------------------------------------------------------------------------