Merge pull request #32 from maxmind/greg/release-updates

Automatically download apigen/box and run box
This commit is contained in:
Dave Rolsky 2014-10-29 11:35:19 -05:00
commit 8ef95cb4d1
6 changed files with 57 additions and 20 deletions

4
.gitignore vendored
View File

@ -2,13 +2,13 @@ _site
.gh-pages .gh-pages
.idea .idea
GeoLite2-City.mmdb GeoLite2-City.mmdb
apigen.phar
box.phar
build build
composer.lock composer.lock
composer.phar composer.phar
phpunit.xml phpunit.xml
geoip2.phar
geoip2-php.sublime-* geoip2-php.sublime-*
vendor/ vendor/
*.sw? *.sw?
t.php
*.old *.old

View File

@ -1,7 +1,7 @@
CHANGELOG CHANGELOG
========= =========
2.0.1 (2014-09-XX) 2.1.0 (2014-10-29)
------------------ ------------------
* Update ApiGen dependency to version that isn't broken on case sensitive * Update ApiGen dependency to version that isn't broken on case sensitive
@ -10,7 +10,7 @@ CHANGELOG
`GeoIP2\Database\Reader` class now has an `anonymousIp` method which returns `GeoIP2\Database\Reader` class now has an `anonymousIp` method which returns
a `GeoIP2\Model\AnonymousIp` object. a `GeoIP2\Model\AnonymousIp` object.
* Boolean attributes like those in the `GeoIP2\Record\Traits` class now return * Boolean attributes like those in the `GeoIP2\Record\Traits` class now return
`false` insteadof `null` when they were not true. `false` instead of `null` when they were not true.
2.0.0 (2014-09-22) 2.0.0 (2014-09-22)
------------------ ------------------

View File

@ -13,6 +13,8 @@
"finder": [ "finder": [
{ {
"name": [ "name": [
"LICENSE",
"LICENSE.*",
"*.php", "*.php",
"*.pem", "*.pem",
"*.pem.md5" "*.pem.md5"

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
set -e
TAG=$1 TAG=$1
if [ -z $TAG ]; then if [ -z $TAG ]; then
@ -7,18 +9,37 @@ if [ -z $TAG ]; then
exit 1 exit 1
fi fi
rm geoip2.phar
if [ -n "$(git status --porcelain)" ]; then if [ -n "$(git status --porcelain)" ]; then
echo ". is not clean." >&2 echo ". is not clean." >&2
exit 1 exit 1
fi fi
if [ -d vendor ]; then
rm -fr vendor
fi
php composer.phar self-update
php composer.phar update --no-dev
if [ ! -f box.phar ]; then
wget -O box.phar "https://github.com/kherge-archive/Box/releases/download/2.4.4/box-2.4.4.phar"
fi
php box.phar build
php composer.phar update
./vendor/bin/phpunit
if [ ! -d .gh-pages ]; then if [ ! -d .gh-pages ]; then
echo "Checking out gh-pages in .gh-pages" echo "Checking out gh-pages in .gh-pages"
git clone -b gh-pages git@git.maxmind.com:GeoIP2-php .gh-pages git clone -b gh-pages git@git.maxmind.com:GeoIP2-php .gh-pages
cd .gh-pages pushd .gh-pages
else else
echo "Updating .gh-pages" echo "Updating .gh-pages"
cd .gh-pages pushd .gh-pages
git pull git pull
fi fi
@ -27,7 +48,25 @@ if [ -n "$(git status --porcelain)" ]; then
exit 1 exit 1
fi fi
../vendor/bin/apigen --quiet --download --title "GeoIP2 PHP API $TAG" --source ../src --destination doc/$TAG # We no longer have apigen as a dependency in Composer as releases are
# sporadically deleted upstream and compatibility is often broken on patch
# releases.
if [ ! -f apigen.phar ]; then
wget -O apigen.phar "https://github.com/apigen/apigen/releases/download/v4.0.0-RC3/apigen-4.0.0-RC3.phar"
fi
cat <<EOF > apigen.neon
destination doc/$TAG
source:
../src
title: "GeoIP2 PHP API $TAG"
EOF
php apigen.phar
PAGE=index.md PAGE=index.md
cat <<EOF > $PAGE cat <<EOF > $PAGE
@ -57,7 +96,8 @@ fi
git push git@github.com:maxmind/GeoIP2-php.git git push git@github.com:maxmind/GeoIP2-php.git
git push git push
cd .. popd
git tag -a $TAG git tag -a $TAG
git push git push
git push --tags git push --tags

View File

@ -8,13 +8,9 @@ use MaxMind\Db\Reader as DbReader;
/** /**
* Instances of this class provide a reader for the GeoIP2 database format. * Instances of this class provide a reader for the GeoIP2 database format.
* IP addresses can be looked up using the <code>country</code> * IP addresses can be looked up using the database specific methods.
* and <code>city</code> methods. We also provide <code>cityIspOrg</code>
* and <code>omni</code> methods to ease compatibility with the web service
* client, although we may offer the ability to specify additional databases
* to replicate these web services in the future (e.g., the ISP/Org database).
* *
* **Usage** * ## Usage ##
* *
* The basic API for this class is the same for every database. First, you * The basic API for this class is the same for every database. First, you
* create a reader object, specifying a file name. You then call the method * create a reader object, specifying a file name. You then call the method
@ -25,7 +21,7 @@ use MaxMind\Db\Reader as DbReader;
* the method you called. This model in turn contains multiple record classes, * the method you called. This model in turn contains multiple record classes,
* each of which represents part of the data returned by the database. If * each of which represents part of the data returned by the database. If
* the database does not contain the requested information, the attributes * the database does not contain the requested information, the attributes
* on the record class will have a <code>null</code> value. * on the record class will have a `null` value.
* *
* If the address is not in the database, an * If the address is not in the database, an
* {@link \GeoIp2\Exception\AddressNotFoundException} exception will be * {@link \GeoIp2\Exception\AddressNotFoundException} exception will be

View File

@ -30,13 +30,12 @@ use Guzzle\Http\Exception\ServerErrorResponseException;
* The web service may not return any information for an entire record, in * The web service may not return any information for an entire record, in
* which case all of the attributes for that record class will be empty. * which case all of the attributes for that record class will be empty.
* *
* **Usage** * ## Usage ##
* *
* The basic API for this class is the same for all of the web service end * The basic API for this class is the same for all of the web service end
* points. First you create a web service object with your MaxMind * points. First you create a web service object with your MaxMind `$userId`
* <code>$userId</code> and <code>$licenseKey</code>, then you call the method * and `$licenseKey`, then you call the method corresponding to a specific end
* corresponding to a specific end point, passing it the IP address you want * point, passing it the IP address you want to look up.
* to look up.
* *
* If the request succeeds, the method call will return a model class for * If the request succeeds, the method call will return a model class for
* the end point you called. This model in turn contains multiple record * the end point you called. This model in turn contains multiple record