The build would fail certain task (e.g. `gradle tasks` and `gradle :prelert-legacy:test`) if run from the elasticsearch root directory because the project references in the build were not abolute project paths from the root, they were relative to the `prelert-legacy` project. This change fixes the references so they are all absolute project paths.
Original commit: elastic/x-pack-elasticsearch@e549533834
* Gets build to use elasticsearch-extras
Also adds ci script for building repo on CI servers
To use this change you need to:
1. Clone elasticsearch: `git@github.com:elastic/elasticsearch.git`
2. create a directory at the same level as elasticsearch called `elasticsearch-extra`
3. Clone this repository into the `elasticsearch-extra` directory
4. Run `gradle build` from the `elasticsearch-extra/prelert-legacy` directory or run `gradle :prelert-legacy:build` from the `elasticsearch directory
* Adds USE_SSH option to ci script
* iter
Original commit: elastic/x-pack-elasticsearch@ea127dfef0
* removes upload pack task from build
This is preventing us from being an elasticsearch-extra project and we cannot have this task when we move to x-pack. Once we are in X-Pack the unified build will be uploading the final artifact so for now we will change the CI build to add a build step to upload the pack artifact.
* Removes OS specific stuff from the build
the CPP_LOCAL_DIST will now look for any `ml-cpp` artifacts for the same version in the specified directory.
* review corrections
Original commit: elastic/x-pack-elasticsearch@be15e55ddb
NB: The actual C++ code will be deleted in a separate commit to
avoid swamping this commit.
If you want to have the Java build pick up locally built C++ then:
export CPP_LOCAL_DISTS=$CPP_SRC_HOME/build/distributions
Otherwise, C++ artifacts will be downloaded from S3.
Original commit: elastic/x-pack-elasticsearch@246672e81d
* prelert to ml
* Prelert to Ml
* PRELERT to ML
Exceptions:
* prelert.com - because it generally appears in links to our website, and
although these will eventually break it will be possible for people to see
what was there using https://archive.org/web/
* PRELERT_AWS_ACCESS_KEY_ID and PRELERT_AWS_SECRET_ACCESS_KEY - because it
creates a knock-on effect on infra that will be temporary anyway because once
we're in x-pack we'll use x-pack keys
* prelert-artifacts - this is the name of the s3 bucket we're currently using
and you cannot rename s3 buckets - as with the access keys it will become
obsolete when we merge to x-pack so there's no point changing it now
* prelert-legacy - the name of our legacy Git repo has not changed
Original commit: elastic/x-pack-elasticsearch@720e83c7f2
The $PRELERT_SRC_HOME environment variable is replaced with $CPP_SRC_HOME,
which points to the cpp sub-directory off the repository root
Original commit: elastic/x-pack-elasticsearch@02ef6d6be6
Changing properties to `PRELERT_AWS_ACCESS_KEY_ID` and `PRELERT_AWS_SECRET_ACCESS_KEY` to avoid conflicts on the ci servers
Original commit: elastic/x-pack-elasticsearch@2b90e752f1
Also uploads the pack zip to the nas instead of the elasticsearch plugin.
The cpp build can be disabled with `-Pxpack.cpp.build=false`
Original commit: elastic/x-pack-elasticsearch@1efb1b2e7e
This change moves the kibana app to a `kibana` directory at the root of the repository and adds gradle tasks to build the kibana app as part of `gradle check`. The kibana build can be muted by running `gradle check -Pxpack.kibana.build=false`
Original commit: elastic/x-pack-elasticsearch@f6ebb2d62b
The `git clean` we used to do at the beginning of the build used to take
care of this, but due to long paths on Windows we can no longer use this
Original commit: elastic/x-pack-elasticsearch@3210c7507b
By default this isn't done when building directly with make, so developers
should still have debugging symbols in binaries they build themselves
Original commit: elastic/x-pack-elasticsearch@64cd92431b
Other related changes:
1) The Windows build is now done on Windows Server 2012r2
2) The Windows build is now done using Visual Studio 2013 Express (closeselastic/elasticsearch#256)
3) set_env.sh is only used with the C++ build
4) It is no longer necessary to set PRELERT_SRC_HOME if building via gradle -
this environment variable IS still required for make, but gradle sets
PRELERT_SRC_HOME before calling make
5) No build tools are loaded from the Prelert NAS
6) The version number for C++ components is now picked up from the same
gradle.properties as the version number for Java components (closeselastic/elasticsearch#37)
7) "make test" now propagates error returns even when PRELERT_KEEP_GOING is
defined - this means gradle only needs to check the return code of make
8) The C++ processes now print out Elasticsearch BV as the copyright owner
Jenkins implications:
1) Jenkins installs gradle 2.13 as part of the build process
2) Jenkins now does the build by executing these gradle tasks: cppAll, pluginAll
3) Jenkins must define the JAVA_HOME environment variables
4) The Jenkins slave running on Windows now has a standard setup, i.e. using
cmd for its shell instead of Git bash
5) 64 bit Git for Windows is used on Windows build slaves instead of 32 bit
msysgit
Original commit: elastic/x-pack-elasticsearch@01c863bfd0
1) The C++ 3rd party libraries need to be copied to cppdistribution
before gradle assemble runs
2) Use gradle check instead of gradle test in the build
3) We don't need Maven or pbzip2 any more
4) Make new_version.sh script update the right files
5) Keep a copy of the built plugin after the build
Outstanding TODOs:
1) Versioning needs to be brought in line with Elasticsearch
2) We are building a plugin per platform rather than one containing
all platforms - we need a step that runs when all platforms have
completed to create a single plugin
3) Strip the C++ binaries so the uploads aren't so big
Original commit: elastic/x-pack-elasticsearch@0cf32e134f