jsonpullparserのcustom_rules.xml

2013-11-23T00:00:00+00:00 Android

Android+JsonPullParserでも書きましたけど、公式にあるcustom_rules.xmlを使うとアノテーションプロセッサのクラスパスに他のライブラリ参照が入ってないので、APT処理によるソースの生成は成功するけどエラーが色々出るのはイケてないなーって思ってて、どうにか修正せねばって事でやってみた

<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules">
    <target name="-pre-compile">
        <!-- 追加 -->
        <path id="project.javac.classpath">
            <path refid="project.all.jars.path" />
            <fileset dir="libs" includes="*.jar" />
            <fileset dir="factory" includes="*.jar" />
        </path>

        <!-- classpathrefを追加 -->
        <javac fork="yes" srcdir="src" compiler="javac1.6" encoding="UTF-8" includeantruntime="false" bootclasspathref="project.target.class.path" classpathref="project.javac.classpath">
            <!-- -classpathなcompilerargなのは削除 -->
            <compilerarg line="-proc:only" />
            <compilerarg line="-processor net.vvakame.util.jsonpullparser.factory.JsonAnnotationProcessor" />
            <compilerarg line="-s ${gen}" />
            <compilerarg line="-AJsonPullParserClassPostfix=${jpp.genclass.postfix}" />
        </javac>
    </target>
</project>

で問題が1つ解決してなくて、ここで${gen}で指定されるディレクトリがAndroidコンパイルプロセスで参照されないディレクトリを指定した場合どうなるかって事なのですが。ant.properties辺りで

gen=apt_generated
apt.processor.dir=factory
jpp.genclass.postfix=Gen
source.dir=src:apt_generated

な感じでsource.dirに指定しちゃえばant clean releaseで処理されてもソースとしてコンパイルプロセスで参照してくれるっぽい

んまぁあとはJenkinsを利用したビルドとかで問題無ければ良いんじゃないかって所

DialogFragmentのsetShowsDialog ViewPagerIndicatorのfooterIndicatorStyle