před 12 dny
26. 4. 2012

Ultimátní detekce OS v Apache ANT

ANT dokáže rozpoznat relativně snadno nad jakým OS byl právě spuštěn. Tahle vlastnost se Vám bude hodit zejména tehdy, pokud budete nuceni spouštět příkazy závisle na platformě.

Při detekci OS jsem narazil na drobný problém se správným rozpoznáním Mac OS X a Linux (oba jsou na UNIX jádru) – to se vyřešilo složitější podmínkou. V závěru ANT skriptu najdete také příklad použití.

<project name="osDetect">
 <!-- Mac OS X based -->
 <condition property="isMac">
  <os family="mac"/>
 </condition>

 <!-- Mac OS but not OS X -->
 <condition property="isMacButNotMacOsX">
  <and>
   <os family="mac"/>
   <not>
    <os family="unix"/>
   </not>
  </and>
 </condition>

 <!-- UNIX based system (unix, max os x) -->
 <condition property="isUnix">
  <os family="unix"/>
 </condition>

 <!-- Linux BASED system -->
 <condition property="isLinux">
  <and>
   <os family="unix"/>
   <not>
    <os family="mac"/>
   </not>
  </and>
 </condition>

 <target name="-linux.run" if="isLinux">
  <echo> je to Linux </echo>
 </target>

 <target name="-mac.run" if="isMac">
  <echo> je to Mac </echo>
 </target>

 <target name="run" depends="-linux, -mac.run" />
</project>

Tip: jméno právě používaného OS můžete získat z proměnné os.name

<target name="os">
 <echo>${os.name}</echo>
</target>
#apache-ant, #deployment, #detekce-os-pomoci-ant
15. 4. 2012

Instalace Node.js na Mac OS X pomocí macport

Instalace node.js

Máte nainstalovaný Xcode a MacPort? Fajn. Můžete pokračovat. Nejprve si zaktualizujte port:

sudo port selfupdate

Pak spusťte samotnou instalaci node.js

sudo port install nodejs

Nakonec nastavte svému uživateli přístupová práva zápisu ke složce /opt/local.

sudo chmod -R g+w /opt/local/

Instalace Node Package Manageru

npm je balčkovací manažer pro node.js, který Vám umožní snadno instalovat jednotlivé node balíčky vč. jejich závislostí (vyhledávač balíčků). Nainstalujete jej pomocí install.sh skriptu následovně:

curl http://npmjs.org/install.sh | sh

Na závěr ověřte, že node.js i npm fungují správně:

node -v # vypise v0.6.15
npm -v # vypise 1.1.16
#js, #mac, #macport, #node-js
26. 3. 2012

Google Closure Compiler v Apache ANT

Apache ANT a Google Closure Compiler je možné snadno propojit. Stáhněte si compiler.jar a do svého antího build skriptu přidejte:

<taskdef name="jscomp" classname="com.google.javascript.jscomp.ant.CompileTask"
classpath="build/Google-Closure-Compiler/compiler.jar"/>

Touto definicí získáte nový target jscomp, který pak stačí zavolat nad vašimi JavaScripty:

<jscomp compilationLevel="simple" warning="quiet"
debug="false" output="/js/main.min.js">
<sources dir="/js-src/">
 <file name="main.js"/>
 <file name="plugins.js"/>
</sources>
</jscomp>

Odkazy:

#apache-ant, #google-closure-compiler, #programovani
25. 3. 2012