Yes, I realize this is flamebait, but after trying to puzzle out the following 
maven plugin:

            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <phase>deploy</phase>
                        <id>deploy-gh-pages</id>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <property name="gh-pages-dir" location=""/>
                                <exec executable="git" dir="${gh-pages-dir}">
                                    <arg line="add ."/>
                                </exec>
                                <exec executable="git" dir="${gh-pages-dir}">
                                    <arg line="commit"/>
                                </exec>
                                <exec executable="git" dir="${gh-pages-dir}">
                                    <arg line="push origin gh-pages"/>
                                </exec>
                            </target>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

I simply can't resist. Whoever in their right mind decided software developers 
to think that requiring other developers to write config files in XML was a 
proper decision?

Python, Ruby, and (yes even Perl) have had had much more elegant and concise 
ways of managing complex data structures for years now. And there's a reason 
JSON has become so popular--primarily because XML is not, and was never 
intended to be, a format for developers to write specifications in.

Let's take a look at the most obvious of the problems in the above:

                                <property name="gh-pages-dir" location=""/>
                                <exec executable="git" dir="${gh-pages-dir}">
                                    <arg line="add ."/>
                                </exec>
                                <exec executable="git" dir="${gh-pages-dir}">
                                    <arg line="commit"/>
                                </exec>
                                <exec executable="git" dir="${gh-pages-dir}">
                                    <arg line="push origin gh-pages"/>
                                </exec>

Now, I'm still very new to maven, but it strikes me that what the above is 
saying is (in Pythonic code, but feel free to convert to your own):

import git
gh-pages-dir = ""
git(dir=gh-pages-dir, "add .")
git(dir=gh-pages-dir, "commit")
git(dir=gh-pages-dir, "push origin gh-pages")

I'm sure there are errors in the translation--but I'm equally sure that if 
these errors were corrected, they would not substantially alter the ratio of 
XML to Pythonic code. Ruby and even Perl would do just as well. 

So here's a challenge to the (very intelligent) folks at apache. Open your 
minds to the fact that XML is not only the Final Solution, but isn't even close 
to the best solution, and start producing some products that are configurable 
without an entire manual in front of oneself. I realize that arriving at an 
optimal solution is not really possible, but XML is so suboptimal as to beggar 
belief.

I am just so sick of using crappy "solutions" (read: XML) layered over top of 
what could be good solutions.

Sorry, had to vent. Who knows, maybe it'll do some good?

Ken McDonald


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to