Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to Bazel #180

Closed
lupino3 opened this issue Jul 14, 2018 · 4 comments
Closed

Migrate to Bazel #180

lupino3 opened this issue Jul 14, 2018 · 4 comments

Comments

@lupino3
Copy link
Member

lupino3 commented Jul 14, 2018

Bazel (http://bazel.io) is a fast multi-platform build system which is easier to use than Gradle/Ant.

I am trying it out in the bazel-migration branch. If it can fully supersede Gradle+Ant, we should adopt it and get rid of Gradle and Ant.

@lupino3
Copy link
Member Author

lupino3 commented Jul 14, 2018

Getting proper build-time variables in the manifest depends on bazelbuild/bazel#2009 being fixed.

@lupino3
Copy link
Member Author

lupino3 commented Jul 14, 2018

Missing features to consider the migration complete:

  • build-time variables support (git revision, build timestamp)
  • building the documentation
  • adding Travis CI support to exercise the build
  • building -nodeps JAR
  • add splash screen support
  • update documentation

Optional:

  • adding support for building the Web UI with gwtc
  • build CLI JAR

lupino3 added a commit that referenced this issue Jul 21, 2018
Fixes #195 and also ticks one box in #180.
lupino3 added a commit that referenced this issue Jul 21, 2018
Fixes #195 and also ticks one box in #180.
lupino3 added a commit that referenced this issue Jul 26, 2018
Now that Bazel rules are fully functional, remove Ant and Gradle configs
and the Gradle wrapper.

Also, update Travis to not use them anymore and update the developer
docs.

Fixes #180.
@pviotti
Copy link
Member

pviotti commented Jan 13, 2019

@lupino3 please consider adopting a building system that is more commonly known and has better tooling support (IDEs, CI/CD, etc).
I've set up the building configuration for Gradle in this branch: https://github.com/pviotti/edumips64/tree/gradle-build
It works pretty well, doesn't need Ant, and all the configuration needed so far is gradle.build.
Currently missing features (AFAIK):

  • Travis is failing on the latex to pdf task for some reason (but it works on my machine!;)
  • git version stamping
  • splash screen support (?)
  • web ui support

@lupino3
Copy link
Member Author

lupino3 commented Jan 14, 2019

Hi Paolo, thanks for the bug reports and the initial code.

I like the work you did with Gradle: I think it's a better choice than Bazel at this point for a java-based desktop application like EduMIPS64.

Would you be willing to finalize the work on the Gradle build file and send a complete pull request to also remove Bazel at the same time?

Regarding the documentation: currently, the Travis build is working (https://travis-ci.org/lupino3/edumips64/builds/479339732), so the docs should build if everything is installed.

I think we should move the discussion to Issue #225, which you opened. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants