Changeset 40094 in project


Ignore:
Timestamp:
05/13/21 14:44:36 (4 weeks ago)
Author:
Vasilij Schneidermann
Message:

/releasing-your-egg: Update to C5

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/releasing-your-egg

    r39447 r40094  
    103103which lists the files (these are resolved relatively to the meta-file itself).
    104104
     105===== In CHICKEN 5
     106
     107uri-common.egg:
     108
     109<enscript highlight="scheme">
     110((files "uri-common.release-info" "uri-common.egg"
     111        "uri-common.scm" "tests/run.scm")
     112 (license "BSD")
     113 (category web)
     114 (components (extension uri-common))
     115 (dependencies uri-generic defstruct matchable srfi-1 srfi-13 srfi-14)
     116 (test-dependencies test)
     117 (author "Peter Bex")
     118 (synopsis "Parser for common URI schemes"))
     119</enscript>
     120
     121uri-common.release-info:
     122
     123<enscript highlight="scheme">
     124(uri meta-file "http://anonymous@code.call-cc.org/svn/chicken-eggs/release/{chicken-release}/{egg-name}/tags/{egg-release}/{egg-name}.egg")
     125</enscript>
     126
     127===== In CHICKEN 4
     128
     129uri-common.meta:
     130
    105131<enscript highlight="scheme">
    106132((files "uri-common.setup" "uri-common.release-info" "uri-common.meta"
     
    114140</enscript>
    115141
    116 This is a real-world example of the [[/eggref/4/uri-common|uri-common egg]].
    117 It lists all the files which it consists of, and these will be downloaded by
    118 chicken-install.  The disadvantage of this approach is that if you forget a
    119 file, your egg is uninstallable, so if you can please use the archive
    120 distribution types instead.  Another disadvantage is that every time you add,
    121 remove or rename a file you need to remember to change the meta-file.
    122 
    123 The {{uri}} entry in uri-common's {{release-info}} file looked like this
    124 before there was an autogenerated one:
     142uri-common.release-info:
    125143
    126144<enscript highlight="scheme">
     
    128146</enscript>
    129147
     148The above is a real-world example of the [[/egg/uri-common|uri-common egg]].
     149It lists all the files which it consists of, and these will be
     150downloaded by chicken-install. The disadvantage of this approach is
     151that if you forget a file, your egg is uninstallable, so if you can
     152please use the archive distribution types instead. Another
     153disadvantage is that every time you add, remove or rename a file you
     154need to remember to change the meta-file.
     155
    130156Because this egg uses subversion and each release has a corresponding
    131 tag, it can simply point to the metafile in the right subdirectory
    132 under tags and it will simply work.  For other version systems this
    133 may require some more messing around.
     157tag, it can simply point to the meta-file in the right subdirectory
     158under tags and it will simply work. For other version systems this may
     159require some more messing around.
    134160
    135161==== files-list
     
    150176It's not recommended you use this manually, as this format is subject
    151177to change and only really intended to be used as a communication system
    152 between [[/eggref/4/pseudo-meta-egg-info|pseudo-meta-egg-info]] and
    153 [[/eggref/4/henrietta-cache|henrietta-cache]].
     178between [[/egg/pseudo-meta-egg-info|pseudo-meta-egg-info]] and
     179[[/egg/henrietta-cache|henrietta-cache]].
    154180
    155181However, if you really need to use this, you can replace the
     
    173199Currently this is done by adding a line to the egg-locations file in
    174200Subversion, which can be found at
    175 [[https://code.call-cc.org/svn/chicken-eggs/release/4/egg-locations]]. For security reasons, editing the {{egg-locations}} file requires special permissions.  So, to have an entry for your egg in that file, send a message to the [[http://lists.nongnu.org/mailman/listinfo/chicken-users|chicken-users mailing list]] announcing your egg and requesting the inclusion of its location to {{egg-locations}}.
     201[[https://code.call-cc.org/svn/chicken-eggs/release/5/egg-locations]]. For security reasons, editing the {{egg-locations}} file requires special permissions.  So, to have an entry for your egg in that file, send a message to the [[http://lists.nongnu.org/mailman/listinfo/chicken-users|chicken-users mailing list]] announcing your egg and requesting the inclusion of its location to {{egg-locations}}.
    176202
    177203To keep maintenance to a minimum, it's best to add a release-info
     
    188214
    189215 $ cd /tmp
    190  $ svn co https://code.call-cc.org/svn/chicken-eggs/release/4 --depth empty
    191  $ cd 4
     216 $ svn co https://code.call-cc.org/svn/chicken-eggs/release/5 --depth empty
     217 $ cd 5
    192218 $ svn update egg-locations
    193219
     
    254280Use the code browser ("Files" in the menu) to browse to your master
    255281branch's release-info file and copy the "Raw" link.  For example, for
    256 the [[/eggref/4/sdl2|SDL2 egg]] it looks like this:
     282the [[/egg/sdl2|SDL2 egg]] it looks like this:
    257283
    258284[[https://gitlab.com/chicken-sdl2/chicken-sdl2/raw/master/sdl2.release-info]]
     
    282308
    283309Use the code browser ("source" tab) to browse to your release-info
    284 file and copy the "raw" link.  This link should work as-is, as long as
     310file and copy the "raw" link. This link should work as-is, as long as
    285311you do this while looking at the latest revision of the file in the
    286 master branch.  For example, for the [[/eggref/4/kalaha|Kalaha egg]]
    287 it would look like:
    288 
    289 [[https://raw.github.com/DerGuteMoritz/kalaha/master/kalaha.release-info]]
     312master branch. For example, for the [[/egg/pastiche|pastiche egg]] it
     313would look like:
     314
     315[[https://raw.githubusercontent.com/ckeen/pastiche/master/pastiche.release-info-5]]
    290316
    291317===== Making releases
     
    458484<enscript highlight="scheme">
    459485(repo hg "http://example.com/{egg-name}")
    460 (uri meta-file "http://example.com/{egg-name}/raw-file/{egg-release}/{egg-name}.meta")
     486(uri meta-file "http://example.com/{egg-name}/raw-file/{egg-release}/{egg-name}.egg")
    461487(release "0.1")
    462488</enscript>
     
    569595==== Subversion
    570596
    571 There's an [[/eggref/4/svn-egg-author|svn-egg-author egg]] that helps
    572 you to update the release-info and meta files and tag a release of
    573 your egg, all with one command.
     597There's an [[/eggref/4/svn-egg-author|svn-egg-author egg]] for CHICKEN
     5984 that helps you to update the release-info and meta files and tag a
     599release of your egg, all with one command.
    574600
    575601If you run your own subversion server with Spiffy, you can consider
    576 using [[/eggref/4/pseudo-meta-egg-info|pseudo-meta-egg-info]] instead.
     602using [[/egg/pseudo-meta-egg-info|pseudo-meta-egg-info]] instead.
    577603If you do, you do not need to use svn-egg-author.  If you're using the
    578604chicken-eggs repository hosted on call-cc.org, you don't need it either
     
    588614==== Git
    589615
    590 There's a [[/eggref/4/git-egg-author|git-egg-author egg]] that helps you
    591 keep your release-info file up-to-date and tag a release with one command.
     616There's a [[/eggref/4/git-egg-author|git-egg-author egg]] for CHICKEN
     6174 that helps you keep your release-info file up-to-date and tag a
     618release with one command.
    592619
    593620==== Bazaar
     
    610637
    611638;; Old repo, using "old-svn-repo" alias
    612 (repo svn "http://anonymous:@code.call-cc.org/svn/chicken-eggs/release/4/{egg-name}")
     639(repo svn "http://anonymous:@code.call-cc.org/svn/chicken-eggs/release/{chicken-release}/{egg-name}")
    613640(uri files-list "http://code.call-cc.org/files-list?egg={egg-name};egg-release={egg-release};chicken-release={chicken-release}" old-svn-repo)
    614641(release "1.3" old-svn-repo)
Note: See TracChangeset for help on using the changeset viewer.