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

Update prerequisites and top-level build guidance for qcert #26

Closed
joshuaauerbachwatson opened this issue Dec 17, 2016 · 5 comments
Closed
Assignees

Comments

@joshuaauerbachwatson
Copy link
Contributor

joshuaauerbachwatson commented Dec 17, 2016

[Early comments in this issue relate to an older description which is now obsolete].

As a result of some significant functionality being provided in Java, the prerequisites description and build descriptions given to end users are probably obsolete and need a good sanity check, followed by some cleanup.

@joshuaauerbachwatson joshuaauerbachwatson self-assigned this Dec 17, 2016
@joshuaauerbachwatson
Copy link
Contributor Author

In a discussion with @jeromesimeon we identified two courses of action with pros and cons.

  1. Make Java (and ant) a hard pre-requisite and unify the build so that the sql parser is built along with qcert.
  • Pro: once the user satisfies the pre-reqs (once), the build is simpler and everything works.
  • Con: it seems a shame to require Java and ant when much of the system can be built and used without them
  1. Document that Java and ant are needed for sql parsing (Java is already an optional pre-req for the query runner and the Java runtime). Let the build of the sql parser be separate or only optionally integrated into the main makefile via a flag.
  • Pro: users who aren't interested in SQL have the same pre-reqs as before
  • Con: it complicates the build and could be confusing to users who just want to install the system and don't yet know exactly how they will use it.

@jeromesimeon said he would think about this some more and ask others. I am waiting for guidance.

@joshuaauerbachwatson
Copy link
Contributor Author

I'd like to move on this issue and, in order to do so without jumping the gun on the question that is outstanding to the group, I will divide the work into two parts.

Part 1 just integrates all the ant scripts into the sqlParser makefile so that the SQL support is built in a single step (preferably with accurate enough dependencies so that the getDependencies part only runs when dependencies change, since it requires network connectivity). This still leaves the SQL support as optional, but avoids mistakes like forgetting to run the export step after a sqlParser build.

Once part 1 is complete, Java is still an optional dependency but you need it if you want sql. Ant is an optional dependency and you need it only if you want sql.

Part 2 consists of (maybe) further integrating the sqlParser build into the main build and making Java and ant into hard dependencies. It also includes documenting all the dependencies once the decision is made pro or con to do the final integration.

I will do part 1, after which I will transfer the issue to Jerome. If he decides to leave the sqlParser build as a distinct step (consistent with how the Java runtime and the samples are handled), then his part just consists of updating the documentation to be more accurate about the dependencies.

joshuaauerbachwatson added a commit that referenced this issue Dec 24, 2016
@joshuaauerbachwatson
Copy link
Contributor Author

Part 1 is complete. At the same time, I also changed export.xml so that it leaves the server built in a local folder sqlParser/server as well as zipping it into bin. That facilitates running the server locally for testing.

Part 2 will be up to Jerome.

@joshuaauerbachwatson
Copy link
Contributor Author

Since I assigned this to Jerome it's obvious that he will be confused by the original title, which is historical. So I will change it (and the description) to something more focused.

@joshuaauerbachwatson joshuaauerbachwatson changed the title Document new prerequisites and integrate non-Make steps into Makefiles Update prerequisites and top-level build guidance for qcert Feb 15, 2017
@jeromesimeon
Copy link
Member

I'm not planning to do more work on this. The README is updated, and includes detailed instructions for Java requirements, and related configuration. The build process has been cleaned up. I'm considering this closed. Anyone objecting can reopen.

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

No branches or pull requests

2 participants