четверг, 24 апреля 2014 г.

Ant. запустить скрипт в зависимости от операционки

<target name="prepare-project">
    <if>
      <os family="unix" />
      <then>
        <echo>is unix........</echo>
        <exec dir="./scripts" executable="/bin/sh">
          <arg line="-c ./prepare-project.sh"/>
        </exec>
      </then>
      <elseif>
        <os family="windows" />
        <then>
          <echo>is windows........</echo>
          <exec dir="./scripts" executable="/bin/sh">
            <arg line="-c ./prepare-project.sh"/>
          </exec>
        </then>
      </elseif>
    </if>
  </target>

вторник, 22 апреля 2014 г.

Использование групп регулярок прям в SED

Вот этой связкой комманд мы можем скопировать все файлы с расширением xxx в файлы с такими же именами, но с раширением yyy
user$ ls *.xxx | sed 's/\(.*\)\.xxx$/cp & \1.yyy/' | sh


Как стало понятно из приведенного примера:
1) чтобы определить регепсовую группу мы должны заекранировать скобки ее групы, почему так не понятно
2) но почему-то регексповые точку и звездочку екранировать не нужно
3) & - означает все строка целиком, которая подошла к указанному в седе регекспу.
4) \N - часть подстроки, которая подошла к указанной поддгруппе (1,2,3...N)

пятница, 18 апреля 2014 г.

Better Bash Scripting in 15 Minutes

Better Bash Scripting in 15 Minutes


The tips and tricks below originally appeared as one of Google's "Testing on the Toilet" (TOTT) episodes. 
This is a revised and augmented version.



Safer Scripting

I start every bash script with the following prolog:
#!/bin/bash
set -o nounset
set -o errexit
This will take care of two very common errors:
  1. Referencing undefined variables (which default to "") 
  2. Ignoring failing commands
The two settings also have shorthands (“-u” and “-e”) but the longer versions are more readable.

пятница, 4 апреля 2014 г.

GVM

the Groovy enVironment Manager - интсрумент для управленния паралельными версиями SDK связанных с Groovy миром на большинстве юниксподобных ОС.

Создан под вперчатлением из руби мира по примеру RVM.

Сейчас есть поддержка для:
  • Gaiden
  • Groovy
  • Grails
  • Griffon
  • Gradle
  • Groovyserv
  • Lazybones
  • Spring Boot
  • vert.x

http://gvmtool.net/