ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Kravchenko" <vladkravche...@googlemail.com>
Subject Re: How to concat several files declared in an index file into one file?
Date Mon, 23 Apr 2007 06:42:41 GMT
Thank you, Scot.

Finally, I've written my own class with void execute() method. I still think
it is easier to maintain then a similar code in BeanShell. The class is
still independent from Ant and can be used/tested outside of Ant.

I didn't want my task requires some Ant tasks which are not part of the
standard distribution.
I spent some time trying to do what I needed with Ant FileReaders and
Filters, but I didn't succeed.

Cheers,
Vlad

On 4/22/07, Scot P. Floess <floess@mindspring.com> wrote:
>
> On second thought, it may not be difficult if you use some of the
> ant-contrib targets like <for>, <var file="" name=""/> and
> <propertyregex.../>  I think you can do it all in straight XML markup.
> Let me know if you need an example...
>
> Scot P. Floess wrote:
> > You might check out the ant-contrib project's propertyregex for
> > regular expressions (I don't think this will be the best route - will
> > take somre work)...
> >
> > Or...I had a similar need where I wanted to replace the contents of -a
> > file- (meaning only one file) where it had the text "http://some-url"
> > / "ftp://some-other-url" and convert it to a real <a
> > href="http://some-url> / <a href="ftp://some-other-url"> - in this
> > case I used a <scripdef language="beanshell"> to look modify the
> > file...  The beanshell script looks an awful lot like plain old
> > Java...  With that said, you have access to -real- java
> > packages/classes like java.io.File :)
> >
> > So, you could do something with that...
> >
> > Below is the later solution...
> >
> >    <scriptdef
> >        name        = "replace-url"
> >        language    = "beanshell"
> >        description = "Converts static text URL to an HTML a-href."
> >        uri         = "http://jplate.sourceforge.net/documentation" >
> >
> >        <classpath>
> >            <path  refid = "jplate.LIB_PATH_REF"/>
> >        </classpath>
> >
> >        <attribute  name = "file"/>
> >
> >        <![CDATA[
> >            java.io.File             file = new java.io.File (
> > attributes.get ( "file" ) );
> >            java.io.RandomAccessFile raf  = null;
> >
> >            try
> >            {
> >                raf  = new java.io.RandomAccessFile ( file, "rw" );
> >                byte[] rawData = new byte [ ( int ) file.length () ];
> >
> >                raf.read ( rawData );
> >
> >                java.lang.String data = new java.lang.String ( rawData );
> >
> >                java.lang.String toWrite =
> >                    data.replaceAll ( "&amp;", "&" ).replaceAll (
> > "(http|ftp)://([\\w\\.?=&])*(([/\\w\\.?=&])*(/)?)?", "<a href =
> > \"$0\">$0</a>" );
> >
> >                raf.seek ( 0 );
> >                raf.write ( toWrite.getBytes () );
> >            }
> >
> >            finally
> >            {
> >                if ( raf != null )
> >                {
> >                    try
> >                    {
> >                        raf.close ();
> >                    }
> >
> >                    catch ( java.io.IOException closeException )
> >                    {
> >                        closeException.printStackTrace ();
> >                    }
> >                }
> >            }
> >        ]]>
> >    </scriptdef>
> > </project>
> >
> >
> > Vladimir Kravchenko wrote:
> >> Hi,
> >>
> >> I have a lot of small css files and one index file which imports all
> >> other
> >> using the following format:
> >> @import url("default.css");
> >> @import url("default_behaviour.css");
> >> @import url("default_form.css");
> >> ...
> >>
> >> I would like to go through this file and replace lines @import
> >> url("*.css");
> >> with actual content of css file the line imports.
> >> So that at the end I have all css included in one file.
> >>
> >> How could I accomplish my task using Ant?
> >>
> >> Is there are any task I can use for this case, or do I have to write
> >> a new
> >> one?
> >>
> >> Thank you in advance!
> >>
> >> /Vlad
> >>
> >
>
> --
> Scot P. Floess
> 27 Lake Royale
> Louisburg, NC  27549
>
> 252-478-8087 (Home)
> 919-392-6730 (Work)
>
> Chief Architect JPlate  http://sourceforge.net/projects/jplate
> Chief Architect JavaPIM http://sourceforge.net/projects/javapim
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message