generated from lengors/maven-java-template
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
5 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,17 @@ | ||
# Welcome to Maven Java Template · [![GitHub license](https://img.shields.io/github/license/lengors/maven-java-template?color=blue)](https://github.com/facebook/react/blob/main/LICENSE) [![javadoc](https://javadoc.io/badge2/io.github.lengors/maven-java-template/javadoc.svg?color=red)](https://javadoc.io/doc/io.github.lengors/maven-java-template) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=lengors_maven-java-template&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=lengors_maven-java-template) | ||
# Welcome to js2pets · [![GitHub license](https://img.shields.io/github/license/lengors/js2pets?color=blue)](https://github.com/facebook/react/blob/main/LICENSE) [![javadoc](https://javadoc.io/badge2/io.github.lengors/js2pets/javadoc.svg?color=red)](https://javadoc.io/doc/io.github.lengors/js2pets) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=lengors_js2pets&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=lengors_js2pets) | ||
|
||
Welcome to **maven-java-template**, a flexible starting point for creating Maven-based Java projects. This template is designed to streamline the setup process for new Java projects, incorporating essential plugins and dependencies to get you up and running quickly. | ||
|
||
## Features | ||
|
||
- **Dependencies**: Preconfigured with Lombok, Checker Framework, Mockito, and JUnit. | ||
- **Plugins**: Includes Checkstyle, Source, Javadoc, GPG, Central Publishing, JaCoCo, Checker Framework, Jar, and Assembly. | ||
- **Branching Strategy**: Four branches (`main`, `beta`, `alpha`, and `dev`) to manage different stages of development and release. | ||
- **CI/CD Pipelines**: Automated checks for code style, build, testing, static code analysis, and publishing to Maven Central. | ||
|
||
## Getting Started | ||
|
||
#### Clone the repository | ||
|
||
```bash | ||
git clone https://github.com/lengors/maven-java-template.git | ||
cd maven-java-template | ||
``` | ||
|
||
#### Build the project | ||
|
||
Ensure you have Maven and JDK installed. Run: | ||
|
||
```bash | ||
./mvnw clean install | ||
``` | ||
|
||
#### Run tests | ||
|
||
```bash | ||
./mvnw clean test | ||
``` | ||
|
||
## Usage | ||
|
||
This template is designed to be as customizable as you need. You can modify dependencies, plugins, or other configurations to suit your specific project needs. | ||
|
||
### Configuration | ||
|
||
- **GPG Signing**: Ensure GPG is set up in your environment with the necessary private key. The passphrase can be set via the `MAVEN_GPG_PASSPHRASE` environment variable or directly in the `pom.xml`. | ||
- **Maven Central Publishing**: Set your Maven Central credentials in your `settings.xml` file or via environment variables `MAVEN_CENTRAL_USERNAME` and `MAVEN_CENTRAL_PASSWORD`. | ||
- **Publishing Releases**: The publishing action relies on [semantic-release](https://semantic-release.gitbook.io/semantic-release/) and [semantic-release-action](https://github.com/cycjimmy/semantic-release-action). The `.releaserc.yml` file defines the release pipeline and automates versioning based on semantic versioning. | ||
- **Jar and Assembly Plugins**: The `jar` and `assembly` plugins are configured in separate Maven profiles (`jar` and `assemble`, respectively). These profiles are intended for building final applications and should be activated only if you’re creating a standalone application. For libraries, these profiles can be removed as they aren’t necessary. | ||
Welcome to **js2pets**, a project aimed at extending the functionality of [jsonschema2pojos](https://github.com/joelittlejohn/jsonschema2pojo), which generates Java POJOs from JSON schemas. This library builds upon the capabilities of jsonschema2pojos to provide additional features and enhancements. | ||
|
||
## Documentation and Resources | ||
|
||
For detailed guides and additional information, please refer to our [GitHub Wiki](https://github.com/lengors/maven-java-template/wiki). | ||
For detailed guides and additional information, please refer to our [GitHub Wiki](https://github.com/lengors/js2pets/wiki). | ||
|
||
If you wish to check the detailed API documentation, visit the [Javadoc](https://javadoc.io/doc/io.github.lengors/maven-java-template) page. | ||
If you wish to check the detailed API documentation, visit the [Javadoc](https://javadoc.io/doc/io.github.lengors/js2pets) page. | ||
|
||
## Contributing | ||
|
||
Contributions are welcome! Please refer to our [Contribution Guidelines](./CONTRIBUTING.md) for more information on how to get involved. | ||
|
||
## License | ||
|
||
This project is licensed under [The Unlicense](./LICENSE), which places it in the public domain. | ||
This project is licensed under [The Unlicense](./LICENSE), which places it in the public domain. |