bootstrapping a new horde library pear xml

Ralf Lang <[email protected]> Sun, 11 Feb 2018 20:58:02 +0100
Newsgroups gmane.comp.horde.devel
Message-ID <[email protected]>
Hi all,

we are currently factoring out some bundled stuff into separate
libraries for re-use and code cleanliness. I wanted to use the
components helper app to bootstrap a new library, but I didn't get it
right first. I still feel I did not do it right, though I have some
autogenerated xml now.


I had /doc, /lib and /test paths, each having its /Horde/$Lib/ subpaths.

I created a minimalistic .horde.yml and .gitignore

I created a bogus CHANGES file

------------
v1.0.0alpha1
------------

First alpha release for Horde 5.

I created a stub changelog.yml file

---
1.0.0alpha1:
  api: 1.0.0
  state:
    release: alpha
    api: alpha
  date: 2018-02-08
  license:
    identifier: LGPL-2.1
    uri: http://www.horde.org/licenses/lgpl21
  notes:
    First alpha release for Horde 5.

I ran php -d
include_path="/srv/www/vhosts.d/horde-dev2018.ralf-lang.de/libs/"
../components/bin/horde-components update --regenerate

horde-components: error: You are neither in a component directory nor
specified it as the first argument!

I added a barebone package.xml (see attached) and ran again. That did
the trick. The script now updates with all existing files and I can
generate a valid pear package.

maintaina:/srv/git/horde-dev2018/Query # php -d
include_path="/srv/www/vhosts.d/horde-dev2018.ralf-lang.de/libs/:/usr/share/php5/PEAR"
 ../components/bin/horde-components snapshot
[   OK   ] Generated snapshot
           /srv/git/horde-dev2018/Query/Horde_Query-1.0.0dev201802111949.tgz

I wonder if I can strip any more data without breaking it.
The .horde.yml file seems to be the primary source for metadata, the
file list is autogenerated.

Is there a documented process I should follow?
I'd like to add some boilerplate to the git-tools thing once I
understand what is required. I already moved the application skeleton
script into git-tools infrastructure.



-- 
Ralf Lang
Linux Consultant / Developer
Tel.: +49-170-6381563
Mail: [email protected]
B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537

-- 
dev mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]
package.xml (text/xml, 2.4 KB)
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.9.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
 <name>Horde_Query</name>
 <channel>pear.horde.org</channel>
 <summary>Query Language library</summary>
 <description>Building Blocks for generating query languages over arbitrary object collections</description>
 <lead>
  <name>Ralf Lang</name>
  <user>rlang</user>
  <email>[email protected]</email>
  <active>yes</active>
 </lead>
 <date>2018-02-11</date>
 <version>
  <release>1.0.0alpha1</release>
  <api>1.0.0</api>
 </version>
 <stability>
  <release>alpha</release>
  <api>alpha</api>
 </stability>
 <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
 <notes>
* 
 </notes>
 <contents>
  <dir baseinstalldir="/" name="/">
   <dir name="doc">
    <dir name="Horde">
    </dir> <!-- /doc/Horde -->
   </dir> <!-- /doc -->
   <dir name="lib">
    <dir name="Horde">
    </dir> <!-- /lib/Horde -->
   </dir> <!-- /lib -->
   <dir name="test">
    <dir name="Horde">
    </dir> <!-- /test/Horde -->
   </dir> <!-- /test -->
  </dir> <!-- / -->
 </contents>
 <dependencies>
  <required>
   <php>
    <min>7.0.0</min>
    <max>8.0.0alpha1</max>
    <exclude>8.0.0alpha1</exclude>
   </php>
   <pearinstaller>
    <min>1.7.0</min>
   </pearinstaller>
   <package>
    <name>Horde_Exception</name>
    <channel>pear.horde.org</channel>
    <min>2.0.0</min>
    <max>3.0.0alpha1</max>
    <exclude>3.0.0alpha1</exclude>
   </package>
  </required>
  <optional>
   <package>
    <name>Horde_Test</name>
    <channel>pear.horde.org</channel>
    <min>2.1.0</min>
    <max>3.0.0alpha1</max>
    <exclude>3.0.0alpha1</exclude>
   </package>
  </optional>
 </dependencies>
 <phprelease>
  <filelist>
  </filelist>
 </phprelease>
 <changelog>
  <release>
   <version>
    <release>1.0.0alpha1</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <date>2018-02-11</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First release candidate for Horde 5.
   </notes>
  </release>
 </changelog>
</package>