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

Be build-tool agnostic #412

Closed
5 tasks done
danielmitterdorfer opened this issue Feb 6, 2018 · 0 comments
Closed
5 tasks done

Be build-tool agnostic #412

danielmitterdorfer opened this issue Feb 6, 2018 · 0 comments
Labels
:Benchmark Candidate Management Anything affecting how Rally sets up Elasticsearch enhancement Improves the status quo
Milestone

Comments

@danielmitterdorfer
Copy link
Member

danielmitterdorfer commented Feb 6, 2018

So far, Rally assumes that Elasticsearch is built with Gradle. It also enforces this requirement for any plugins that are built from sources. With the recent switch of Elasticsearch to the Gradle Wrapper, Gradle is not a hard requirement for Rally anymore.

Instead of hardcoding Gradle as a build tool, we should simply be agnostic and let the user define the appropriate build command(s) in the config file. Note that we will make no effort to dynamically detect anything or allow version-specific build commands (e.g. Maven for ES 2.x, Gradle for 5.x and Gradle Wrapper for 6.x). It is up to the user to configure the correct build command(s) but Rally's default configuration will be maintained to be able to build recent master versions of Elasticsearch.

Tasks:

  • Remove build tool detection in initial configuration
  • Remove build tool requirement from docs
  • Change plugin docs to mention that the full command needs to be specified
  • Migrate existing configurations to include the Gradle Wrapper for the Elasticsearch build
  • Adapt Rally's source build component to use the new properties
@danielmitterdorfer danielmitterdorfer added enhancement Improves the status quo :Benchmark Candidate Management Anything affecting how Rally sets up Elasticsearch labels Feb 6, 2018
@danielmitterdorfer danielmitterdorfer added this to the 0.9.2 milestone Feb 6, 2018
@danielmitterdorfer danielmitterdorfer modified the milestones: 0.9.2, Backlog Feb 7, 2018
@danielmitterdorfer danielmitterdorfer modified the milestones: Backlog, Pre 1.0 Mar 13, 2018
@danielmitterdorfer danielmitterdorfer modified the milestones: Pre 1.0, 0.10.0 Apr 4, 2018
dliappis added a commit to dliappis/rally that referenced this issue Apr 4, 2018
This commit remove the need to specify the [build] section for the
gradle path when compiling from source.

Building Elasticsearch and core plugins from source defaults to
compiling using gradlew.

Plugins now require plugin.name.build.command specified and migration
changes declarations from build.task to build.command.

Closes elastic#412
dliappis added a commit to dliappis/rally that referenced this issue Apr 4, 2018
This commit remove the need to specify the [build] section for the
gradle path when compiling from source.

Building Elasticsearch and core plugins from source defaults to
compiling using gradlew.

Plugins now require plugin.name.build.command specified and migration
changes declarations from build.task to build.command.

Closes elastic#412
dliappis added a commit to dliappis/rally that referenced this issue Apr 5, 2018
This commit remove the need to specify the [build] section for the
gradle path when compiling from source.

Building Elasticsearch and core plugins from source defaults to
compiling using gradlew.

Plugins now require plugin.name.build.command specified and migration
changes declarations from build.task to build.command.

Closes elastic#412
danielmitterdorfer pushed a commit that referenced this issue Apr 6, 2018
This commit removes the need to specify the [build] section for the
gradle path when compiling from source.

Building Elasticsearch and core plugins from source defaults to
compiling using gradlew.

Since there are two modes of building plugins, one alongside a source
distribution and one against a release Elasticsearch version, and in
the latter compilation is usually done from within the plugin source,
we can't assume what's the build tool e.g. `./gradlew`.

Instead of guessing what build.task should become as build.command for
plugins, just display a warning instead.

Closes #412
Relates #457
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Benchmark Candidate Management Anything affecting how Rally sets up Elasticsearch enhancement Improves the status quo
Projects
None yet
Development

No branches or pull requests

1 participant