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

Add “library author guide” page #1273

Merged
merged 2 commits into from
Feb 21, 2019
Merged

Conversation

julienrf
Copy link
Contributor

I wanted to gather in one place the typical things developers want to set up when they start publishing a library. How to publish jars to Maven Central? How to set up a documentation website? How to set up a CI server? How to detect binary incompatibilities between minor versions? How to make all of these tasks painless and as automated as possible?

The resulting document is quite long, although I’ve tried to list as few options as possible. For instance, I only show how to generate documentation with paradox, but there are plenty of alternatives (e.g., microsites is a popular one). The idea was to be able to have a simple set up that can be used a starting point and adapted to more specific needs.

In the end, I’m quite happy with the build.sbt and .travis.yml I have, which are rather simple compared to all they do!

However, I see one serious limitation to what I have: it doesn’t show how to target Scala.js. Supporting this would add a little bit more complexity to the build (ie, we would have to switch to a multi-project build), which I didn’t want to have.


The tut tool will produce the following Markdown file:

{% highlight markdown %}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The CI fails because my Markdown file contains a Markdown snippet that contains a tut snippet. I’m not sure how I can write my Markdown snippet in such a way that tut ignores its content.

Copy link
Member

@SethTisue SethTisue left a comment

Choose a reason for hiding this comment

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

none of my suggestions are critical

_overviews/contributors/index.md Outdated Show resolved Hide resolved

Once you have chosen a license, *apply* it to your project by creating a `LICENSE` file in the root directory
of your project with the license contents or a link to it. This file usually indicates who owns the copyright.
We suggest putting the project “contributors” as copyright owners. You can see our
Copy link
Member

Choose a reason for hiding this comment

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

Not sure about this sentence ("We suggest..."), it doesn't seem clear to me. Also not sure what the scare quotes are for around "contributors". Possibly just omit this sentence, if making it clearer would take up too much space?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated as follows:

-We suggest putting the project “contributors” as copyright owners. You can see our
-[LICENSE file](https://github.com/scalacenter/library-example/blob/master/LICENSE) as an example.
+In our example of [LICENSE file](https://github.com/scalacenter/library-example/blob/master/LICENSE), we have
+written that all the contributors (as per the Git log) own the copyright.

_overviews/contributors/index.md Outdated Show resolved Hide resolved
_overviews/contributors/index.md Outdated Show resolved Hide resolved
_overviews/contributors/index.md Outdated Show resolved Hide resolved
_overviews/contributors/index.md Outdated Show resolved Hide resolved
_overviews/contributors/index.md Outdated Show resolved Hide resolved
_overviews/contributors/index.md Outdated Show resolved Hide resolved
@julienrf
Copy link
Contributor Author

julienrf commented Feb 1, 2019

I’ve pushed a hacky workaround to not make the CI fail in 8295511. There is still a failure, though, but unrelated to this PR.

@SethTisue SethTisue merged commit cbbe76c into scala:master Feb 21, 2019
@SethTisue
Copy link
Member

this hasn't showed up at https://docs.scala-lang.org/overviews/index.html , presumably for the same reason #1088 didn't show up either /cc @jvican

@julienrf julienrf deleted the developer-guide branch February 25, 2019 10:27
@SethTisue
Copy link
Member

it's there now, as per
#1088 (comment)

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