ant-build-script icon indicating copy to clipboard operation
ant-build-script copied to clipboard

Rework Image Optimization

Open roblarsen opened this issue 11 years ago • 15 comments

This is a placeholder for any work I'll do on the image optimization tasks. There's a new branch for that work. I'll pull in the bugs and any other changes here in order to have one place to track the problems.

roblarsen avatar Jul 10 '13 20:07 roblarsen

Many issues related to this:

#168 Image Optimization #163 Image Optimization Broken on Linux/Mac #147 OptiPNG with unix #141 You have optipng installed and your version is: usage: grep (Mac OS Lion Mountain) #156 Image optimization in subfolders #37 Include pngquant in image optimization process #149 - fix optipng version regex #152 fix jpegtran metadata stripping

roblarsen avatar Jul 11 '13 14:07 roblarsen

Big +1. I installed the required dependencies, put them on my $PATH, verified with which and they never get picked up by the build script.

kevinSuttle avatar Aug 05 '13 02:08 kevinSuttle

I'm actually working on it right now. I'm going to stop doing all the magic stuff and just make people be a bit more responsible for configuring the image tasks. A lot of the issues we experienced with this stuff was with trying to get too cute.

roblarsen avatar Aug 06 '13 19:08 roblarsen

Available for testing https://github.com/h5bp/ant-build-script/tree/new-image-optimization

roblarsen avatar Aug 07 '13 16:08 roblarsen

The biggest difference is that you need to manually set your version of optipng. Right now the assumption is that it's greater than 7.0. If it's not you have to uncomment line 189 in project properties

https://github.com/h5bp/ant-build-script/blob/new-image-optimization/config/project.properties#L189

roblarsen avatar Aug 07 '13 16:08 roblarsen

Reworked again, based on some feedback. Tested on an unprimed Quantal Quetzal server install. With no dependencies the "tool not installed, yadda yadda" messages work. With Optipng and Jpegtran installed, the images are processed.

roblarsen avatar Aug 13 '13 15:08 roblarsen

Thanks Rob!

kevinSuttle avatar Aug 14 '13 02:08 kevinSuttle

@kevinSuttle have you had a chance to test it? I'm gathering as much feedback as I can before releasing this. It's hard to test these things since I would need about 40 systems.

roblarsen avatar Aug 14 '13 02:08 roblarsen

I haven't yet. I will play with it over the weekend though. Thanks!

kevinSuttle avatar Aug 16 '13 19:08 kevinSuttle

Just tested the new image-optimization branch under osx 10.8 and it looks like advpng is never called because it's never set to available. If I'm correct, this needs to be added (line 1141 build.xml):

<else>
    <var name="advpng.available" value="true"/>
</else>

almeric avatar Oct 10 '13 10:10 almeric

did it work when you tried that out?

roblarsen avatar Oct 10 '13 11:10 roblarsen

Did some more checks (with the mentioned change): brew uninstall advancecomp ant minify Gives me the "advpng NOT INSTALLED. SKIPPING OPTIMIZATION OF PNGs." warning (as expected)

brew install advancecomp ant minify gives me the "echo Now, we run advpng on the .png files..." message

Without the change mentioned above I would always get the advpng not installed message

almeric avatar Oct 10 '13 12:10 almeric

Awesome. I'll add that in right now.

roblarsen avatar Oct 10 '13 12:10 roblarsen

For jpegtran (line 1213 build.xml) set value to true

<then>
    <var name="jpegtran.available" value="true"/>
</then>

gistdg avatar Oct 19 '13 08:10 gistdg

Can you elaborate? That would make it always true.

<if>
          <not>
            <available file="jpegtran" filepath="${ENV.PATH}"/>
          </not>

          <then>
            <var name="jpegtran.available" value="false"/>
          </then>
          <else>
            <var name="jpegtran.available" value="true"/>
          </else>  
        </if>

roblarsen avatar Oct 21 '13 16:10 roblarsen