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

Make plugin compatible with Android Gradle Plugin #2

Closed
eskatos opened this issue Jan 21, 2019 · 6 comments
Closed

Make plugin compatible with Android Gradle Plugin #2

eskatos opened this issue Jan 21, 2019 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@eskatos
Copy link
Owner

eskatos commented Jan 21, 2019

Requires reacting to Android Gradle Plugin its build types and source sets and configure accordingly.

Lower supported version of the Gradle Android Plugin is an open question and will be settled when implementing depending on the found backwards compatibility complications.

@eskatos eskatos self-assigned this Jan 21, 2019
@eskatos eskatos added the enhancement New feature or request label Jan 21, 2019
@daferpi
Copy link

daferpi commented Jan 21, 2019

Sorry for misunderstanding I think that is the right issue, make compatible with android, maybe we need to start from here before, sorry for the extra effort.
Maybe the information in this url can help you:

http://blog.sqisland.com/2015/02/gce2retrofit-gradle-plugin.html

Check the part about 'Points to note' that talk about project.plugins.hasPlugin and variant.registerJavaGeneratingTask the variant part I think that is important

this is the repo that talk in the article that contains a example:

https://github.com/chiuki/gce2retrofit

@eskatos
Copy link
Owner Author

eskatos commented Jan 24, 2019

No worries. There was no extra effort, backward compatibility with Gradle versions <5.0 is a must have for people stuck on previous versions and it wasn't so much work anyway.

Yep, things are different on Android mostly because of variants. variant.registerJavaGeneratingTask won't work as it is for generated source that doesn't depend on the compiled output and is referenced from source. vlingo actor proxies generation is the opposite, it depends on the compiled output and its compiled output is referenced at runtime only. A bit like annotation processors.

@eskatos
Copy link
Owner Author

eskatos commented Feb 2, 2019

@daferpi I just published a 0.1.0 version with initial Android support. It should work with Gradle >=4.10.1, Android Gradle Plugin >=3.3.0, vlingo-actors >= 0.8.0 and Java actor protocols. Configuration is a bit clunky for now, see the plugin's README and AndroidTest.

It's not done yet, I plan to make the configuration DSL better. But it should get you going. If you encounter any issue with the Android support, please report.

@daferpi
Copy link

daferpi commented Feb 2, 2019

Perfect,I go to do some test and check how works!, Thanks a lot for your job and amazing work. I provided feedback ASAP, thanks again!!

@daferpi
Copy link

daferpi commented Feb 3, 2019

After some test, I think that this issue can be closed, because the plugin works well. I only have one question, when I try to setup the directory path manually the plugin always create a folder with the name that I put in the destinationDirectory and inside all the package that contains the actors, exist any way to no create all the package and only the folder with the name that contains the destinationDirectory?

@eskatos
Copy link
Owner Author

eskatos commented Feb 5, 2019

The destinationDirectory is a "java source directory" and should contain folders for packages otherwise some tools like IDEs will warn/suggest about files being in the wrong folder.

Thanks for the feedback, I opened #3 as a follow up and will close this issue.

@eskatos eskatos closed this as completed Feb 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants