lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RFC: new location for openLilyLib repository


From: Urs Liska
Subject: Re: RFC: new location for openLilyLib repository
Date: Fri, 13 Nov 2015 11:58:25 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0



Am 13.11.2015 um 10:57 schrieb Davide Liessi:
2015-11-13 6:02 GMT+01:00 Henning Hraban Ramm <address@hidden>:
Why not combine the options? Use GitHub as long as it makes sense, but always keep a mirror on OLL server.
That's my opinion, too: option a), plus mirroring the repositories at
git.openlilylib.org.



It seems discussion settles towards this, so we'll go that route. With regard to mirroring I think I'll do the following (please tell me if someone has a better solution).

Create a Git repository on git.openlilylib.org's server (that is, a local repository on the filesystem, not in the server's Gitlab installation and have the Github repository as 'origin'.

Add a web hook on the Gitlab repo that triggers a script on the openlilylib.org server. This script will fetch the updates from Github and can optionally perform further tasks, e.g. build openLilyLib documentation and deploy it.

As I don't want to require an http server kept running for this task I would try to implement it in a way that the web server (Nginx) calls the script when the Github web hook calls a certain URL. I don't know how to do that yet but I assume it'll work similarly to calling up PHP stuff through fastCGI.

###

One other thing to be discussed is the actual naming. As a prerequisite I have significantly cleaned up the namespace below https://github.com/openlilylib so that there are only three repositories left. However, it's not clear how I should proceed now.

Currently we have the "openlilylib" repository which actually contains two different things:
  • the original collection of "snippets" as started by Janek. These are loosely organized and inconsistently documented LilyPond files scattered in a number of directories.
  • A new, integrated approach for a library infrastructure, to be found in the /ly directory in the repository. This contains a small number of proof-of-concept (but also working) libraries. The new library files are even less documented (only through source comments at the maintainer's discretion) as designing a proper documentation system is one of the most urgent issues that block any further development.

What we want to achieve is:

  • One repository with the core functionality of the new library infrastructure (this contains the "API" against which libraries (or user code) can work that Jan-Peter mentioned)
  • A number of library repositories.
    The libraries that exist inside /ly, for example /ly/gridly or /ly/scholarly, will be moved to repositories at this level. However, I'm not sure if we should create an additional organization (e.g. oll-libraries) for that to avoid cluttering the namespace and website dashboard with potentially numerous libraries and other, independent project repos.
    BTW: This disentangling implies that *anyone* can create a new library for use with openLilyLib and host it *anywhere*. This will be so much better than the current approach of having the libraries maintained *inside* one single repository.
  • The current repository, maybe renamed.

This set-up will have the big advantage that we can keep the existing repository so no user code will break. Whenever something is moved to the new structure we can make the current functions issue a deprecation warning, telling the user where the new functionality should be taken from (I have already done this several times and provided some helper functions).
An implication and additional advantage is that we can keep the existing repository as a collection of loosely related code (as Janek intended: a git-managed and lily-version-agnostic LSR)

I suggest (and if noone objects will do it)


Regaring the location of the individual libraries, what would you consider best:

  • adding all beside oll-core
    (keeping the option that anyone creates libraries in their own place)
  • creating a new openlilylib sibling organization for that purpose
  • Just have library maintainers maintain their repos in their own namespace
    (providing a central listing of available libraries in some place, of course)


Best
Urs




reply via email to

[Prev in Thread] Current Thread [Next in Thread]