YETUS-776. build doesn't deploy all artifacts

Signed-off-by: Allen Wittenauer <aw@apache.org>
2 files changed
tree: ffa61f2d9c5c18de386c4a34059d24570556fb57
  1. .circleci/
  2. asf-site-src/
  3. audience-annotations-component/
  4. Formula/
  5. hooks/
  6. precommit/
  7. releasedocmaker/
  8. shelldocs/
  9. yetus-assemblies/
  10. yetus-dist/
  11. yetus-maven-plugin/
  12. yetus-minimaven-plugin/
  13. .gitattributes
  14. .gitignore
  15. .gitlab-ci.yml
  16. .hadolint.yaml
  17. .jshintignore
  18. .pylintrc
  19. .rubocop.yml
  20. .travis.yml
  21. Dockerfile
  22. Jenkinsfile
  23. LICENSE
  24. NOTICE
  25. pom.xml
  26. README.md
  27. start-build-env.sh
README.md

Apache Yetus

Apache Yetus is a collection of libraries and tools that enable contribution and release process for software projects.

Components

Here is a list of the major components:

  • Website source Holds our documentation, which is presented via our website.
  • Precommit Precommit provides robust tools to deal with contributions, including applying patches from a variety of project sources and evaluating them against project norms via a system of plugins. See the precommit overview to get started working with precommit.
  • Audience Annotations Audience Annotations allows projects to use Java Annotations to delineate public and non-public parts of their APIs. It also provides doclets to generate javadocs filtered by the intended audience. Currently builds with Maven 3.2.0+.
  • Shelldocs Shelldocs processes comments on Bash functions for annotations similar to Javadoc. It also includes built-in audience scoping functionality similar to the doclet from Audience Annotations.
  • Release Doc Maker Release Doc Maker analyzes Jira and Git information to produce Markdown formatted release notes.
  • yetus-maven-plugin Builds a maven plugin that provides some small utilities for some uncommon maven requirements (such as symlinks) in addition to being mavenized versions of some of the Apache Yetus functionality.

Building Quickstart

For full instructions on how to build releases and the website, see the guide to contributing for requirements and instructions.

# Launch a Docker container that has all of the project's dependencies and a working build environment
./start-build-env.sh

# Build the binary tarball, located in yetus-dist/target/artifacts:
mvn clean install

# Build the binary and source tarballs and sign the content:
mvn clean install -Papache-release

# Same, but if outside the container and need to let the system know that the OS uses 'gpg2' instead of 'gpg':
mvn clean install -Papache-release -Pgpg2

# Build the binary and source tarballs, but skip signing them:
mvn clean install -Papache-release -Dgpg.sign=skip

# Build the website (requires a mvn install first)
mvn site site:stage

After executing one or more of the Apache Maven commands, artifacts will be in yetus-dist/target/artifacts or ready for a mvn deploy.