Skip to content

[BEAM-3252] Updating contributor's guide to reference Gradle.#414

Closed
youngoli wants to merge 7 commits intoapache:asf-sitefrom
youngoli:beam3252
Closed

[BEAM-3252] Updating contributor's guide to reference Gradle.#414
youngoli wants to merge 7 commits intoapache:asf-sitefrom
youngoli:beam3252

Conversation

@youngoli
Copy link

@youngoli youngoli commented Apr 6, 2018

Removed as many references to maven or pom files under contribute
as I could. There's still a few references in the Eclipse Tips file
since I have no clue how to use Eclipse with Gradle and have yet to
find someone who does.

Also references in maturity-model in the dependency tree. It's not
really possible to create a Gradle dependency tree that isn't hundreds
of thousands of lines though, because each distinct configuration in
each project has it's own dependencies so you end up creating hundreds
of dependency trees, many of which are hundreds of lines long by
themselves.

Removed as many references to maven or pom files under contribute
as I could. There's still a few references in the Eclipse Tips file
since I have no clue how to use Eclipse with Gradle and have yet to
find someone who does.

Also references in maturity-model in the dependency tree. It's not
really possible to create a Gradle dependency tree that isn't hundreds
of thousands of lines though, because each distinct configuration in
each project has it's own dependencies so you end up creating hundreds
of dependency trees, many of which are hundreds of lines long by
themselves.
@youngoli
Copy link
Author

youngoli commented Apr 6, 2018

Note: I was making this PR unaware that @udim was working on an overlapping change in #412. The overlapping changes will probably need to be merged by someone.

Also note: This change and other Maven->Gradle changes should probably go in a separate branch so the site doesn't mention Maven in some places and Gradle in others.

Copy link
Member

@lukecwik lukecwik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made minor edits for updates.

* Store generated project files externally
* Use default gradle wrapper

This should result in a working Gradle project. Build the project by executing the "build" task in
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe we should tell users to delegate build/test actions to gradle. We should tell users to do this as well, instructions are here: https://dzone.com/articles/using-idea-to-delegate-build-and-run-actions-to-gr

This should result in a working Gradle project. Build the project by executing the "build" task in
the root Gradle module.

## Enable Annotation Processing
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe we need this whole section.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By this whole section do you mean the "Enable Annotation Processing" section?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, target folders refer to Maven.

Also, try out the quickstart manually using intellij in a new project.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah. So does that mean there's no gradle version of those directories then if the solution is to remove the entire section?

Also yes, I'll do that. I already did so for the gradle setup directions, but I ignored the rest of the instructions (annotations, checkstyle, and codestyle).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based upon your current set of instructions for intellij, I don't believe we need anything additional for the annotation processing.

@lukecwik
Copy link
Member

lukecwik commented Apr 9, 2018

@aaltay / @udim For the Python SDK development in the contribution guide, should we prefer gradle since it automatically sets up the virtualenv. It seems like a lot less work for new contributors. There can be Python SDK advanced instructions, similar to how the intellij instructions exists which go through the virtualenv setup, ...

@aaltay
Copy link
Member

aaltay commented Apr 9, 2018

My opinion is that, it is better to use gradle based python development in the contribution guide. It makes it uniform across the project and easy to get started. I would think that anyone doing heavy development on python will actually use virtualenv based setup. Let's keep them as an alternative (or advanced) option.

Adding a step to the contributor's guide IntelliJ tip for setting up
gradle describing how to delegate builds to gradle.
@lukecwik
Copy link
Member

@asfgit merge

@asfgit asfgit closed this in e0a3a96 Apr 11, 2018
robertwb pushed a commit to robertwb/incubator-beam that referenced this pull request Jun 5, 2018
robertwb pushed a commit to robertwb/incubator-beam that referenced this pull request Jun 5, 2018
melap pushed a commit to apache/beam that referenced this pull request Jun 20, 2018
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.

3 participants