You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Pulkit Singhal <pu...@gmail.com> on 2010/08/03 00:29:38 UTC

How to write to file from maven

Does anyone know how to write out to a file from inside a pom.xml file?

I ask because I want to put my hudson build's ${SVN_REVISION} value
into a version.txt file.

Any ideas?

- Pulkit

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by "a.geo" <aq...@gmail.com>.
Ant is the solution, and using the maven provided vars to set the replace
task...

Ok, is like kill a fly with a bazooka, but, it works... :D

2010/8/2 Dan Tran <da...@gmail.com>

> ah, dont tight hudson to your maven build, you should get maven to get
> those values for you via buildnumber-maven-plugin.  This we you can
> invoke maven any where without the need to have hudson to start your
> build
>
> -D
>
> On Mon, Aug 2, 2010 at 6:46 PM, Pulkit Singhal <pu...@gmail.com>
> wrote:
> > Nope did not invent the names :)
> >
> > I'm using hudson and I believe that these environment variables are
> > being set by Hudson for me.
> >
> >
> http://wiki.hudson-ci.org/display/HUDSON/Building+a+software+project#Buildingasoftwareproject-HudsonSetEnvironmentVariables
> >
> > On Mon, Aug 2, 2010 at 9:38 PM, Wayne Fay <wa...@gmail.com> wrote:
> >>>  <buildNumber>${BUILD_NUMBER}</buildNumber>
> >>>  <svnRevisionNumber>${SVN_REVISION}</svnRevisionNumber>
> >>
> >> Where do you believe the values for these templates/variables should
> >> be coming from? Did you just invent the names yourself?
> >>
> >> Wayne
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >> For additional commands, e-mail: users-help@maven.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Cesar De la Cruz Rojas
*
-----------------------------------------------------------------------------
*
Sennior Software Engineer
-----------------------------------------------------------------------------
Follow me in Facebook : http://www.facebook.com/aquiles.geo
Twitter http://twitter.com/ageo
Picture blog http://ageo.deviantart.com

Re: How to write to file from maven

Posted by Dan Tran <da...@gmail.com>.
ah, dont tight hudson to your maven build, you should get maven to get
those values for you via buildnumber-maven-plugin.  This we you can
invoke maven any where without the need to have hudson to start your
build

-D

On Mon, Aug 2, 2010 at 6:46 PM, Pulkit Singhal <pu...@gmail.com> wrote:
> Nope did not invent the names :)
>
> I'm using hudson and I believe that these environment variables are
> being set by Hudson for me.
>
> http://wiki.hudson-ci.org/display/HUDSON/Building+a+software+project#Buildingasoftwareproject-HudsonSetEnvironmentVariables
>
> On Mon, Aug 2, 2010 at 9:38 PM, Wayne Fay <wa...@gmail.com> wrote:
>>>  <buildNumber>${BUILD_NUMBER}</buildNumber>
>>>  <svnRevisionNumber>${SVN_REVISION}</svnRevisionNumber>
>>
>> Where do you believe the values for these templates/variables should
>> be coming from? Did you just invent the names yourself?
>>
>> Wayne
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by Pulkit Singhal <pu...@gmail.com>.
Nope did not invent the names :)

I'm using hudson and I believe that these environment variables are
being set by Hudson for me.

http://wiki.hudson-ci.org/display/HUDSON/Building+a+software+project#Buildingasoftwareproject-HudsonSetEnvironmentVariables

On Mon, Aug 2, 2010 at 9:38 PM, Wayne Fay <wa...@gmail.com> wrote:
>>  <buildNumber>${BUILD_NUMBER}</buildNumber>
>>  <svnRevisionNumber>${SVN_REVISION}</svnRevisionNumber>
>
> Where do you believe the values for these templates/variables should
> be coming from? Did you just invent the names yourself?
>
> Wayne
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by Wayne Fay <wa...@gmail.com>.
>  <buildNumber>${BUILD_NUMBER}</buildNumber>
>  <svnRevisionNumber>${SVN_REVISION}</svnRevisionNumber>

Where do you believe the values for these templates/variables should
be coming from? Did you just invent the names yourself?

Wayne

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by Pulkit Singhal <pu...@gmail.com>.
Geo:
I have to agree with you Geo, ant is overkill but it works.

Russ:
I tried using the process-resources phase of the build lifecycle but
that messed up the rest of my files in the resources folder!
I have no idea why.
I guess whatever was happening to them by default got over-ridden by
me trying to work with just one file specifically.
    <resources>
      <resource>
        <targetPath>${project.build.directory}/${project.artifactId}-${project.version}</targetPath>
        <filtering>true</filtering>
        <directory>${basedir}/src/main/resources</directory>
        <includes><include>version.xml</include></includes>
      </resource>
    </resources>

Dan:
I looked into buildnumber-maven-plugin, it is interesting indeed but
right now I barely got folks to understand the idea of consistent
hudson build numbering if I try to explain to them how to figure out
where their changes are according to svn revision #s they might pull
their hair out. Besides Hudson is setting that svn revision # too
which is what that plugin offers (plus formatting & works across any
maven invocation too) but I'm good for now :)

Geo & Dan:
This blog seems to be putting works suggestions together into one
implementation:
http://mikenereson.blogspot.com/2007/02/maven-keep-track-of-your-build-number.html

Thanks,
- Pulkit

On Mon, Aug 2, 2010 at 11:58 PM, Russ Tremain <ru...@releasetools.org> wrote:
> I believe you need to declare a property in the pom:
>
>    <properties>
>        <SVN_REVISION>${env.SVN_REVISION}</SVN_REVISION>
>    </properties>
>
> your can test it by passing on the command line:
>
> mvn -DSVN_REVISION=$SVN_REVISION ...
>
> /r
>
>
> At 9:36 PM -0400 8/2/10, Pulkit Singhal wrote:
>>I followed your advise and setup something like the following:
>>
>>    <resources>
>>      <resource>
>>        <targetPath>${project.build.directory}/${project.artifactId}-${project.version}/test</targetPath>
>>        <filtering>true</filtering>
>>        <directory>${basedir}/src/main/resources</directory>
>>        <includes><include>version.xml</include></includes>
>>      </resource>
>>    </resources>
>>
>>and
>>
>><?xml version="1.0" encoding="UTF-8"?>
>><root>
>>  <buildNumber>${BUILD_NUMBER}</buildNumber>
>>  <svnRevisionNumber>${SVN_REVISION}</svnRevisionNumber>
>></root>
>>
>>But I get back the version.xml file as-is without any substitution in
>>the target test folder.
>>
>>Any suggestions?
>>- Pulkit
>>
>>On Mon, Aug 2, 2010 at 8:00 PM, Russ Tremain <ru...@releasetools.org> wrote:
>>> during the process-resources phase of the build lifecycle [1], you can substitute values.
>>>
>>> see:  http://maven.apache.org/ref/2.2.1/maven-model/maven.html#class_resource
>>>
>>> you would need to enable filtering.
>>>
>>> refs:
>>> [1] http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
>>>
>>> At 7:09 PM -0400 8/2/10, Pulkit Singhal wrote:
>>>>I know that what you suggested is a perfectly acceptable solution ...
>>>>but I cringe at the thought of running ant in maven ... no real reason
>>>>to do so ... it is just unappealing to me somehow. And I find it just
>>>>a bit odd that I can't write out or echo variables to a file. Doesn't
>>>>maven have any controls for that at all?
>>>>
>>>>On Mon, Aug 2, 2010 at 6:32 PM, a.geo <aq...@gmail.com> wrote:
>>>>> maybe with a Ant task
>>>>> Look at the Replace task documentation
>>>>> http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/CoreTasks/replace.html
>>>>>
>>>>> You need first, make a copy from a template with a Copy task, and next use
>>>>> the replace task to replace the token with the new value, the current
>>>>> version... : D
>>>>>
>>>>> 2010/8/2 Pulkit Singhal <pu...@gmail.com>
>>>>>
>>>>>> Does anyone know how to write out to a file from inside a pom.xml file?
>>>>>>
>>>>>> I ask because I want to put my hudson build's ${SVN_REVISION} value
>>>>>> into a version.txt file.
>>>>>>
>>>>>> Any ideas?
>>>>>>
>>>>>> - Pulkit
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Cesar De la Cruz Rojas
>>>>> *
>>>>> -----------------------------------------------------------------------------
>>>>> *
>>>>> Sennior Software Engineer
>>>>> -----------------------------------------------------------------------------
>>>>> Follow me in Facebook : http://www.facebook.com/aquiles.geo
>>>>> Twitter http://twitter.com/ageo
>>>>> Picture blog http://ageo.deviantart.com
>>>>>
>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>For additional commands, e-mail: users-help@maven.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>>
>>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>For additional commands, e-mail: users-help@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by Russ Tremain <ru...@releasetools.org>.
I believe you need to declare a property in the pom:

    <properties>
        <SVN_REVISION>${env.SVN_REVISION}</SVN_REVISION>
    </properties>

your can test it by passing on the command line:

mvn -DSVN_REVISION=$SVN_REVISION ...

/r


At 9:36 PM -0400 8/2/10, Pulkit Singhal wrote:
>I followed your advise and setup something like the following:
>
>    <resources>
>      <resource>
>        <targetPath>${project.build.directory}/${project.artifactId}-${project.version}/test</targetPath>
>        <filtering>true</filtering>
>        <directory>${basedir}/src/main/resources</directory>
>        <includes><include>version.xml</include></includes>
>      </resource>
>    </resources>
>
>and
>
><?xml version="1.0" encoding="UTF-8"?>
><root>
>  <buildNumber>${BUILD_NUMBER}</buildNumber>
>  <svnRevisionNumber>${SVN_REVISION}</svnRevisionNumber>
></root>
>
>But I get back the version.xml file as-is without any substitution in
>the target test folder.
>
>Any suggestions?
>- Pulkit
>
>On Mon, Aug 2, 2010 at 8:00 PM, Russ Tremain <ru...@releasetools.org> wrote:
>> during the process-resources phase of the build lifecycle [1], you can substitute values.
>>
>> see:  http://maven.apache.org/ref/2.2.1/maven-model/maven.html#class_resource
>>
>> you would need to enable filtering.
>>
>> refs:
>> [1] http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
>>
>> At 7:09 PM -0400 8/2/10, Pulkit Singhal wrote:
>>>I know that what you suggested is a perfectly acceptable solution ...
>>>but I cringe at the thought of running ant in maven ... no real reason
>>>to do so ... it is just unappealing to me somehow. And I find it just
>>>a bit odd that I can't write out or echo variables to a file. Doesn't
>>>maven have any controls for that at all?
>>>
>>>On Mon, Aug 2, 2010 at 6:32 PM, a.geo <aq...@gmail.com> wrote:
>>>> maybe with a Ant task
>>>> Look at the Replace task documentation
>>>> http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/CoreTasks/replace.html
>>>>
>>>> You need first, make a copy from a template with a Copy task, and next use
>>>> the replace task to replace the token with the new value, the current
>>>> version... : D
>>>>
>>>> 2010/8/2 Pulkit Singhal <pu...@gmail.com>
>>>>
>>>>> Does anyone know how to write out to a file from inside a pom.xml file?
>>>>>
>>>>> I ask because I want to put my hudson build's ${SVN_REVISION} value
>>>>> into a version.txt file.
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> - Pulkit
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Cesar De la Cruz Rojas
>>>> *
>>>> -----------------------------------------------------------------------------
>>>> *
>>>> Sennior Software Engineer
>>>> -----------------------------------------------------------------------------
>>>> Follow me in Facebook : http://www.facebook.com/aquiles.geo
>>>> Twitter http://twitter.com/ageo
>>>> Picture blog http://ageo.deviantart.com
>>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>For additional commands, e-mail: users-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by Pulkit Singhal <pu...@gmail.com>.
I followed your advise and setup something like the following:

    <resources>
      <resource>
        <targetPath>${project.build.directory}/${project.artifactId}-${project.version}/test</targetPath>
        <filtering>true</filtering>
        <directory>${basedir}/src/main/resources</directory>
        <includes><include>version.xml</include></includes>
      </resource>
    </resources>

and

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <buildNumber>${BUILD_NUMBER}</buildNumber>
  <svnRevisionNumber>${SVN_REVISION}</svnRevisionNumber>
</root>

But I get back the version.xml file as-is without any substitution in
the target test folder.

Any suggestions?
- Pulkit

On Mon, Aug 2, 2010 at 8:00 PM, Russ Tremain <ru...@releasetools.org> wrote:
> during the process-resources phase of the build lifecycle [1], you can substitute values.
>
> see:  http://maven.apache.org/ref/2.2.1/maven-model/maven.html#class_resource
>
> you would need to enable filtering.
>
> refs:
> [1] http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
>
> At 7:09 PM -0400 8/2/10, Pulkit Singhal wrote:
>>I know that what you suggested is a perfectly acceptable solution ...
>>but I cringe at the thought of running ant in maven ... no real reason
>>to do so ... it is just unappealing to me somehow. And I find it just
>>a bit odd that I can't write out or echo variables to a file. Doesn't
>>maven have any controls for that at all?
>>
>>On Mon, Aug 2, 2010 at 6:32 PM, a.geo <aq...@gmail.com> wrote:
>>> maybe with a Ant task
>>> Look at the Replace task documentation
>>> http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/CoreTasks/replace.html
>>>
>>> You need first, make a copy from a template with a Copy task, and next use
>>> the replace task to replace the token with the new value, the current
>>> version... : D
>>>
>>> 2010/8/2 Pulkit Singhal <pu...@gmail.com>
>>>
>>>> Does anyone know how to write out to a file from inside a pom.xml file?
>>>>
>>>> I ask because I want to put my hudson build's ${SVN_REVISION} value
>>>> into a version.txt file.
>>>>
>>>> Any ideas?
>>>>
>>>> - Pulkit
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>
>>>>
>>>
>>>
>>> --
>>> Cesar De la Cruz Rojas
>>> *
>>> -----------------------------------------------------------------------------
>>> *
>>> Sennior Software Engineer
>>> -----------------------------------------------------------------------------
>>> Follow me in Facebook : http://www.facebook.com/aquiles.geo
>>> Twitter http://twitter.com/ageo
>>> Picture blog http://ageo.deviantart.com
>>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>For additional commands, e-mail: users-help@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by Russ Tremain <ru...@releasetools.org>.
during the process-resources phase of the build lifecycle [1], you can substitute values.

see:  http://maven.apache.org/ref/2.2.1/maven-model/maven.html#class_resource

you would need to enable filtering.

refs:
[1] http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

At 7:09 PM -0400 8/2/10, Pulkit Singhal wrote:
>I know that what you suggested is a perfectly acceptable solution ...
>but I cringe at the thought of running ant in maven ... no real reason
>to do so ... it is just unappealing to me somehow. And I find it just
>a bit odd that I can't write out or echo variables to a file. Doesn't
>maven have any controls for that at all?
>
>On Mon, Aug 2, 2010 at 6:32 PM, a.geo <aq...@gmail.com> wrote:
>> maybe with a Ant task
>> Look at the Replace task documentation
>> http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/CoreTasks/replace.html
>>
>> You need first, make a copy from a template with a Copy task, and next use
>> the replace task to replace the token with the new value, the current
>> version... : D
>>
>> 2010/8/2 Pulkit Singhal <pu...@gmail.com>
>>
>>> Does anyone know how to write out to a file from inside a pom.xml file?
>>>
>>> I ask because I want to put my hudson build's ${SVN_REVISION} value
>>> into a version.txt file.
>>>
>>> Any ideas?
>>>
>>> - Pulkit
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>>
>>>
>>
>>
>> --
>> Cesar De la Cruz Rojas
>> *
>> -----------------------------------------------------------------------------
>> *
>> Sennior Software Engineer
>> -----------------------------------------------------------------------------
>> Follow me in Facebook : http://www.facebook.com/aquiles.geo
>> Twitter http://twitter.com/ageo
>> Picture blog http://ageo.deviantart.com
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>For additional commands, e-mail: users-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by Pulkit Singhal <pu...@gmail.com>.
I know that what you suggested is a perfectly acceptable solution ...
but I cringe at the thought of running ant in maven ... no real reason
to do so ... it is just unappealing to me somehow. And I find it just
a bit odd that I can't write out or echo variables to a file. Doesn't
maven have any controls for that at all?

On Mon, Aug 2, 2010 at 6:32 PM, a.geo <aq...@gmail.com> wrote:
> maybe with a Ant task
> Look at the Replace task documentation
> http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/CoreTasks/replace.html
>
> You need first, make a copy from a template with a Copy task, and next use
> the replace task to replace the token with the new value, the current
> version... : D
>
> 2010/8/2 Pulkit Singhal <pu...@gmail.com>
>
>> Does anyone know how to write out to a file from inside a pom.xml file?
>>
>> I ask because I want to put my hudson build's ${SVN_REVISION} value
>> into a version.txt file.
>>
>> Any ideas?
>>
>> - Pulkit
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>
>
> --
> Cesar De la Cruz Rojas
> *
> -----------------------------------------------------------------------------
> *
> Sennior Software Engineer
> -----------------------------------------------------------------------------
> Follow me in Facebook : http://www.facebook.com/aquiles.geo
> Twitter http://twitter.com/ageo
> Picture blog http://ageo.deviantart.com
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: How to write to file from maven

Posted by "a.geo" <aq...@gmail.com>.
maybe with a Ant task
Look at the Replace task documentation
http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/CoreTasks/replace.html

You need first, make a copy from a template with a Copy task, and next use
the replace task to replace the token with the new value, the current
version... : D

2010/8/2 Pulkit Singhal <pu...@gmail.com>

> Does anyone know how to write out to a file from inside a pom.xml file?
>
> I ask because I want to put my hudson build's ${SVN_REVISION} value
> into a version.txt file.
>
> Any ideas?
>
> - Pulkit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Cesar De la Cruz Rojas
*
-----------------------------------------------------------------------------
*
Sennior Software Engineer
-----------------------------------------------------------------------------
Follow me in Facebook : http://www.facebook.com/aquiles.geo
Twitter http://twitter.com/ageo
Picture blog http://ageo.deviantart.com