Freerouting is an advanced autorouter for all PCB programs that support the standard Specctra or Electra DSN interface.
- Java >= 21 (Adoptium Temurin 21 JRE)
- Gradle 6.x
- Internet connection (dependencies are downloaded automatically)
- For IDE integration: Gradle extension (not necessary for command line usage)
Open the freerouting
Gradle project in your favourite IDE (NB, IntelliJ, Eclipse etc. with Gradle Plugin) and build it
by calling the assemble
task.
Navigate to the Gradle project (e.g., path/to/freerouting
) and enter the following command
./gradlew assemble
gradlew assemble
All four .jar files will be generated in the build\libs
subfolder. You would typically run the freerouting-executable.jar
file.
Creating a release takes about half an hour if everything goes according to the plan. Usually it doesn't, so free up ~3 hours for this.
Let's suppose that the new version is 2.3.4
. You need to complete these steps:
-
Check if there are updated translations on Crowdin and merge them if needed
-
Check if there are any outstanding pull requests and merge them as well
-
Change
ext.publishing.versionId
in\gradle\project-info.gradle
to2.3.4
-
Push it to GitHub
-
Check if it was built successfully on GitHub Actions
-
Create a new draft release
-
Run
gradlew.bat assemble
-> this will generate the files in\build\libs\freerouting*.jar
-
Rename to
freerouting-executable.jar
tofreerouting-2.3.4.jar
and add it to the release draft -
Update the
integrations\KiCad
- Copy
freerouting-2.3.4.jar
into\integrations\KiCad\kicad-freerouting\plugins\jar\
- Update
\integrations\KiCad\kicad-freerouting\plugins\plugin.ini
with the new filename - Update
\integrations\KiCad\kicad-freerouting\metadata.json
- Create a ZIP file from the
kicad-freerouting
folder - Copy this
kicad-freerouting.zip
file tokicad-freerouting-2.3.4.zip
- Use KiCad Packager from https://gitlab.com/kicad/addons/metadata/tools to get hash and file sizes
- Update
\integrations\KiCad\metadata.json
with these values - Push these changes to GitHub
- Run the "Run Kicad repository validation" command in KiCad Packager
- Delete previous fork at https://gitlab.com/freeroutingapp/metadata (Settings / General / Delete this project)
- Fork https://gitlab.com/kicad/addons/metadata again
- Create a new branch, named
freerouting-2.3.4
- Replace https://gitlab.com/freeroutingapp/metadata/-/blob/main/packages/app.freerouting.kicad-plugin/metadata.json with the new one
- Create a megre request at https://gitlab.com/kicad/addons/metadata / Merge request / ...
- Copy
-
Update README
-
Publish the release
-
Check if Windows and Linux installers were added to the release in GitHub Actions
-
Publish the library to Maven Central
-
Change
ext.publishing.versionId
in\gradle\project-info.gradle
again to2.3.5-SNAPSHOT