- XML escaping - http://escapehtmlforxml.com/
- XML indenting (critical when trying to read ugly XML) - http://xmlindent.com/
- JSlint (javascript code checker) - http://www.jslint.com/
- JSONlint (JSON validator and formatter) - http://www.jsonlint.com/
- W3C HTML validator - http://validator.w3.org/
- W3C CSS validator - http://jigsaw.w3.org/css-validator/
- WDG tools (web validators) - http://htmlhelp.com/tools/
- XHTML/CSS page validator - http://xhtml-css.com/
- shell tools (xml, base64, md5/sha1, and more) - http://www.shell-tools.net/
Aaron Zeckoski is a technology leader recognized for his expertise in educational technologies and learning systems. He has been an open source architect working on learning systems projects like Sakai. This is a technical blog about software engineering, servant leadership, and whatever else.
Friday, August 28, 2009
Helpful online tools
These are a bunch of online tools which I find indispensable when I need to do some quick validation, encoding, or formatting/indenting.
Labels:
formatter,
indenter,
Javascript,
json,
online tools,
validation,
validator,
xml
Saturday, August 08, 2009
Easy license headers with maven
If you are like me you probably hate trying to maintain license headers on your source code files. It has to be done for pretty much all of my projects (since I deal in open source 99% of the time) but it is pure drudgery. I found a great plugin for maven 2 which makes this a piece of cake (very easy). The maven-license-plugin can (optionally) check your source files for headers (you control which ones or just use the defaults) and add in or replace the headers for you. Forget about doing this manually anymore; those days are over. You just specify a license header template like this (i.e. create a file, I use LICENSE_HEADER):
Then add something like this to your project pom.xml (in the build section under plugins):
You need to add in the plugin repo in the pluginRepositories section:
That config will cause the check to run on every build (ignoring properties files is a good idea since the plugin has trouble with them). Files with a missing license header will cause the build to fail ensuring you remember to run the command to format them. The properties you set there will fill in the ${field} vars in the license header template.
Now run the maven command to check for license headers:
Run this command and all the license headers will be added or updated to match your template:
Copyright (C) ${year} ${holder} <${contact}>
This file is part of ${name}.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Then add something like this to your project pom.xml (in the build section under plugins):
<plugin>
<groupId>com.google.code.maven-license-plugin</groupId>
<artifactId>maven-license-plugin</artifactId>
<configuration>
<header>${basedir}/LICENSE_HEADER</header>
<excludes>
<exclude>target/**</exclude>
<exclude>m2-target/**</exclude>
<exclude>**/*.properties</exclude>
</excludes>
<properties>
<name>${project.name}</name>
<year>${project.inceptionYear}</year>
<holder>Aaron Zeckoski</holder>
<contact>azeckoski@gmail.com</contact>
</properties>
<encoding>UTF-8</encoding>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
You need to add in the plugin repo in the pluginRepositories section:
<pluginRepository>
<id>mc-release</id>
<url>http://mc-repo.googlecode.com/svn/maven2/releases</url>
</pluginRepository>
That config will cause the check to run on every build (ignoring properties files is a good idea since the plugin has trouble with them). Files with a missing license header will cause the build to fail ensuring you remember to run the command to format them. The properties you set there will fill in the ${field} vars in the license header template.
Now run the maven command to check for license headers:
mvn license:checkor simply do a build (which will also run the check):
mvn clean installYou should get a report about the files missing license headers.
Run this command and all the license headers will be added or updated to match your template:
mvn license:formatOne final note, you can remove all the license headers using "mvn license:remove". Very cool.
Subscribe to:
Posts (Atom)