Skip to content

Conversation

@Andrei-Pozolotin
Copy link

@sjrd
Copy link
Member

sjrd commented Jan 14, 2018

I'm not sure what is the added value of this information. We typically don't have lists of every other project using our projects, so it's not like it's a custom either. Could you elaborate on what is the intent, here?

@Andrei-Pozolotin
Copy link
Author

same as with zinc
https://github.com/sbt/zinc#history

@sjrd
Copy link
Member

sjrd commented Jan 14, 2018

That's a completely different story, though. That's the specificity of Zinc to have evolved that way, so they're documenting why Zinc exists at all. The CLI was never meant to be used by other tools, it's an accident. If at all, the Tools API was meant for that. The CLI is a Command Line Interface. Using it from a tool is sub-optimal, compared to directly talking to the Tools API, since you cannot benefit from the incremental aspect of the linker.

@Andrei-Pozolotin
Copy link
Author

So you suggest not use CLI and switch to Tools API?

@sjrd
Copy link
Member

sjrd commented Jan 14, 2018

Yes, indeed.

Although I'm not sure whether Maven in particular has any support for keeping things in memory between builds (like gradle which supports it through nailgun), so maybe for the particular case of Maven, you would not be able to leverage the incremental linker anyway.

It would still be nicer from an API perspective to directly build a StandardLinker.Config, instead of serializing the options into an array of strings, only to have them be deserialized by the command-line parsing right after that.

@Andrei-Pozolotin
Copy link
Author

Great, thank you, will switch. Yes, there is a way to cache.

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.

2 participants