,-----. ,--.,--. ,--. ,-----.,--. ,--.
| |) /_ ,--.,--.`--'| | ,-| |' .--./| | | |
| .-. \| || |,--.| |' .-. || | | | | | Built by the community, for the community
| '--' /' '' '| || |\ `-' |' '--'\| '--.| |
`------' `----' `--'`--' `---' `-----'`-----'`--'
Welcome to BuildCLI - Java Project Management!
BuildCLI is a command-line interface (CLI) tool for managing and automating common tasks in Java project development. It allows you to create, compile, manage dependencies, and run Java projects directly from the terminal, simplifying the development process.
- Repository: https://github.com/wheslleyrimar/buildcli
- License: MIT
- Initialize Project: Creates the basic structure of directories and files for a Java project.
- Compile Project: Compiles the project source code using Maven.
- Add Dependency: Adds new dependencies to the
pom.xml
. - Remove Dependency: Remove dependencies from
pom.xml
. - Document Code: [Beta] Generates documentation for a Java file using AI.
- Manage Configuration Profiles: Creates specific configuration files for profiles (
application-dev.properties
,application-test.properties
, etc.). - Run Project: Starts the project directly from the CLI using Spring Boot.
- Dockerize Project: Generates a Dockerfile for the project, allowing easy containerization.
- Build and Run Docker Container: Builds and runs the Docker container using the generated Dockerfile.
- CI/CD Integration: Automatically generates configuration files por CI/CD tools (e.g., Jenkins, Github Actions) and triggers pipelines based on project changes.
-
Clone the Repository:
git clone https://github.com/wheslleyrimar/buildcli.git cd buildcli
-
Build and Package the Project:
mvn package
-
Set up BuildCLI for Global Access:
-
Copy the
buildcli
file to a directory in your system PATH, such as~/bin
:cp target/buildcli.jar ~/bin/
-
Create a wrapper script:
nano ~/bin/buildcli
-
Insert the following content into the file:
#!/bin/bash java -jar "$HOME/bin/buildcli.jar.jar" "$@"
-
Save and exit Nano:
- Press CTRL + O, then Enter to save.
- Press CTRL + X to exit.
-
Make the script executable:
chmod +x ~/bin/buildcli
Now BuildCLI
is ready to use. Test the buildcli
command in the terminal.
We made a major refactor of the BuildCLI
architecture. Please use the buildcli help
command to see all available options. Also, refer to issue #89 and pull request #79 for more details.
Creates the basic Java project structure, including src/main/java
, pom.xml
, and README.md
.
You can specify a project name to dynamically set the package structure and project artifact.
- To initialize a project with a specific name:
buildcli project init MyProject
This will create the project structure with MyProject
as the base package name, resulting in a directory like src/main/java/org/myproject
.
- To initialize a project without specifying a name:
buildcli project init
This will create the project structure with buildcli
as the base package name, resulting in a directory like src/main/java/org/buildcli
.
Compiles the Java project using Maven:
buildcli project build --compile
Adds a dependency to the project in the groupId:artifactId
format. You can also specify a version using the format groupId:artifactId:version
. If no version is specified, the dependency will default to the latest version available.
- To add a dependency with the latest version:
buildcli project add dependency org.springframework:spring-core
- To add a dependency with a specified version:
buildcli p a d org.springframework:spring-core:5.3.21
After executing these commands, the dependency will be appended to your pom.xml file under the <dependencies>
section.
Creates a configuration file with the specified profile, for example, application-dev.properties
:
buildcli project add profile dev
Runs the Java project using Spring Boot:
buildcli project run
Automatically generates inline documentation for a Java file using AI:
buildcli project document-code File.java
This command sends the specified Java file to the local Ollama server, which generates documentation and comments directly within the code. The modified file with documentation will be saved back to the same location.
Sets the active environment profile, saving it to the environment.config
file. The profile is referenced during project execution, ensuring that the correct configuration is loaded.
buildcli p set env dev
After running this command, the active profile is set to dev, and the environment.config
file is updated accordingly.
With the --set-environment
functionality, you can set the active environment profile. When running the project with buildcli --run
, the active profile will be displayed in the terminal.
This command generates a Dockerfile
for your Java project, making it easier to containerize your application.
buildcli p add dockerfile
This command automatically builds and runs the Docker container for you. After running the command, the Docker image will be created, and your project will run inside the container.
buildcli project run docker
Generates configuration files for CI/CD tools and prepares the project for automated pipelines. Supports Jenkins, Gitlab and Github Actions.
buildcli project add pipeline github
buildcli project add pipeline gitlab
buildcli project add pipeline jenkins
Ensure you have the Ollama server running locally, as the docs
functionality relies on an AI model accessible via a local API.
You can start the Ollama server by running:
ollama run llama3.2
- Jenkins: Ensure Jenkins is installed and accessible in your environment.
- GitHub Actions: Ensure your repository is hosted on GitHub with Actions enabled.
Contributions are welcome! Feel free to open Issues and submit Pull Requests. See the CONTRIBUTING.md file for more details.
Quick steps to contribute:
- Fork the project.
- Create a branch for your changes:
git checkout -b feature/my-feature
- Commit your changes:
git commit -m "My new feature"
- Push to your branch:
git push origin feature/my-feature
- Open a Pull Request in the main repository.
This project is licensed under the MIT License - see the LICENSE file for details.