sobota, 3 września 2016

Groovy - podstawy

Ciekawe elementy z groovy które szybko można zrobić

Odpalenie groovy jako skrypt

Do lini trzeba dodać 
#!/usr/bin/env groovy

Parsowanie parametrów CLI 

Przydatny fagment programu wsadowego który może być przy praktycznie każdym skrypcie CLI

def cli = new CliBuilder(
 usage: scriptFileName,
 header: 'Description\nAvailable options (use -h for help):\n',
 footer: '')
cli.with
{
 h(longOpt: 'help', 'Help - Usage Information')
 opt1(longOpt: 'Option 1', 'Option 1 description')
}
def opt = cli.parse(args)
if (!opt) return
if (opt.h) {
 cli.usage()
 return
}
// ciag dalszy programu


TreeSet z ignore case

Przydatny gdy chcemy sortować bez Case Sensitive
def IGNORE_CASE = new Comparator<String>() {
    public int compare(String s1, String s2) {
        return s1.compareToIgnoreCase(s2);
    }
};
def set1 = new TreeSet<String>(IGNORE_CASE)


Przeszukiwanie rekursywne katalogu

import static groovy.io.FileType.FILES
...
def dir = new File("/sciezka do katalogu")
dir.eachFileRecurse(FILES) {
    if(it.name.endsWith("nazwa-pliku")) {

    // robota do zrobienia jak jest plik
    }
}


Czytanie z pliku (iterator lini)

def file1 = new File("sciezka")
file1.eachLine { line ->
 println line
}