{"id":23665875,"url":"https://github.com/alfonsog-dev/javabuildconfig","last_synced_at":"2026-07-21T23:33:56.563Z","repository":{"id":322746225,"uuid":"1089223420","full_name":"AlfonsoG-dev/JavaBuildConfig","owner":"AlfonsoG-dev","description":"A playground to improve and test some stuff about the build process for Java applications","archived":false,"fork":false,"pushed_at":"2026-02-27T03:47:57.000Z","size":455,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-27T10:35:49.485Z","etag":null,"topics":["build-tool","java","terminal-app"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlfonsoG-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-04T03:50:03.000Z","updated_at":"2026-02-27T03:48:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/AlfonsoG-dev/JavaBuildConfig","commit_stats":null,"previous_names":["alfonsog-dev/javabuildconfig"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlfonsoG-dev/JavaBuildConfig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJavaBuildConfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJavaBuildConfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJavaBuildConfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJavaBuildConfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlfonsoG-dev","download_url":"https://codeload.github.com/AlfonsoG-dev/JavaBuildConfig/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJavaBuildConfig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35741142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-21T02:00:06.728Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-tool","java","terminal-app"],"created_at":"2024-12-29T06:18:26.865Z","updated_at":"2026-07-21T23:33:56.558Z","avatar_url":"https://github.com/AlfonsoG-dev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java build\n- A java build tool that uses a **configuration file** to build the project.\n\u003e Its made for simple java project with minimal use of `.jar` dependencies.\n\n- Build the entire project.\n![expected output](./docs/output_1.png)\n\n- Compile some other source.\n![expected_recompile](./docs/output_2.png)\n\n---\n\n# Installation\nThis is a step by step guide on how to install this tool.\n1. Download the source code of the project from [build tool](https://github.com/AlfonsoG-dev/JavaBuildConfig).\n2. Build the project to get a `.jar` file to use.\n\u003e You can use the `.ps1` build script.\n```sh\npwsh build.ps1\n```\n3. Execute the jar file with the *Java* `cli` tools.\n```sh\njava -jar App.jar\n``` \n\n## Configuration\nUse a `config.txt` file to store the project configuration.\n\u003e The following its an example of the configuration on this particular project.\n```txt\nRoot-Path: src\nSource-Path: src\\application\nClass-Path: bin\nMain-Class: application.JavaBuildConfig\nTest-Path: src\\test\nTest-Class: test.TestLauncher\nLibraries: include/exclude/ignore\nCompile--flags: -Werror\n```\nYou can create the `config.txt` file with:\n```sh\njava -jar javaBuild.jar --config\n```\n- Once created you can change the values manually.\n\n---\n\n# Usage\nIn this build tool you have the following commands:\n1. Compile command:\n- Use `--compile` to compile the project.\n```sh\njava -jar javaBuild.jar --compile\n```\n\u003e You can use 3 sub-commands:\n\u003e- `--s sourcePath` to change the source path.\n\u003e- `--t classPath` to change the target path.\n\u003e- `--i` to include or not the lib files.\n\u003e- `--f` to insert flags to the compile process.\n\n2. Run Command\n- Use `--run` to execute the project.\n```sh\njava -jar javaBuild.jar --run\n```\n\u003e You can use 4 sub-commands:\n\u003e- `src\\app.java` to change the main class to execute.\n\u003e- `--s` to change the source path.\n\u003e- `--t` to change the target path.\n\u003e- `--i` to include or not the lib files.\n\u003e- `--f` to insert flags to the run process.\n\n3. Create `jar` file\n- Use `--jar` to create the build `.jar` file of the application.\n```sh\njava -jar javaBuild.jar --jar\n```\n\u003e- `fileName` to change the `.jar` file name.\n```sh\njava -jar javaBuild.jar --jar app\n```\n\u003e\u003e Now the `.jar` file will be name `app.jar`\n\u003e- `--s` to change the source path.\n\u003e- `--t` to change the target path.\n\u003e- `-e` to change the entry point if manifesto isn't present.\n\u003e- `--f` to insert flags to the run process.\n\n4. Build project\n- It compile and creates the `.jar` file of the project.\n\u003e Just to save time you only enter this command insted of two.\n```sh\njava -jar javaBuild.jar --build\n```\n\u003e It accepts the same command as compile but the `--f` only works for compile not for `--jar` command.\n```sh\njava -jar javaBuild.jar --build --f -g\n```\n\u003e The previous command will add `-g` flag to the compile process enabling debug information.\n\n5. Configuration\n- It created or modifies the configuration and manifesto file\n```sh\njava -jar javaBuild.jar --config\n```\n\u003e You can change the source by giving `--s src`\n\u003e You can change the target by giving `--t bin`\n\u003e You can change the main class by giving its name\n\u003e- You can also change the author of the project with `-a Owner-Mine`\n```sh\njava -jar javaBuild.jar --config src.App -a Owner-Mine\n```\n\u003e You can \"include/exclude\" lib dependencies by giving `--i include/exclude`\n\n---\n\n# Disclaimer\n- This project is for educational purposes.\n- Security issues are not taken into account.\n- Use it at your own risks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfonsog-dev%2Fjavabuildconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falfonsog-dev%2Fjavabuildconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfonsog-dev%2Fjavabuildconfig/lists"}