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

Feature/add GitHub workflow #32

Merged

Conversation

alibabashack
Copy link
Contributor

@alibabashack alibabashack commented Apr 17, 2021

Provides a github actions workflow, which builds rxtx for all supported platforms and allows users to download binaries directly from github.

Only the binary for mac osx is built on a mac system. All other binaries and java parts of the library are built on a ubuntu 20.04 (via cross toolchains).

They were part of sys/types.h, but this constellation was deprecated and
now it seems to be recommended to use sys/sysmacros.h directly to get the
declarations for minor()/major().
Resolution of maven bug https://issues.apache.org/jira/browse/MNG-4565
changed the behavior of profile activation triggers from logic OR to logic AND
without providing fallback behavior.

The new behavior leads to problems in release build for profiles which shall be
automatically included in releases, but also automatically included in a
development build on some build hosts for convenience reasons. Such binaries
are no longer included in the release build, which is fatal.

So we drop some convenience of develoment build here to ensure the sanity of
our release build.
Previously, profiles were used to minimize the selected modules in the
release=prepare and release=bundle use cases. This is no longer feasible if
we want to use the activeByDefault profile to warn the user about a missing
binary platform selection.

This will result in slightly more work in the release=prepare use case,
because we now also build the rxtxSerial and rxtxSerial-test modules which are
not needed in this step. But I think usability is more important here. And in
the long run, it might be a good idea to build and execute the tests anyway
(as soon as we have some :) .
When the release bundle is created, the user does not need to select binary
platforms, because the binaries are already present and are collected from the
logcal maven repository.
This was referenced Apr 17, 2021
@alibabashack
Copy link
Contributor Author

This is how a run looks: https://github.com/alibabashack/rxtx/actions/runs/758517810

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

Successfully merging this pull request may close these issues.

None yet

1 participant