Search in sources :

Example 11 with Macro

use of aQute.bnd.osgi.Macro in project bnd by bndtools.

the class MacroTest method testBasename.

public static void testBasename() {
    Processor p = new Processor();
    Macro m = new Macro(p);
    assertEquals("biz.aQute.bndlib.tests", m.process("${basename;${dir;.project}}"));
}
Also used : Processor(aQute.bnd.osgi.Processor) Macro(aQute.bnd.osgi.Macro)

Example 12 with Macro

use of aQute.bnd.osgi.Macro in project bnd by bndtools.

the class MacroTest method testVersion.

public static void testVersion() throws Exception {
    Processor proc = new Processor();
    Macro macro = new Macro(proc);
    assertEquals("1.0.0", macro.process("${version;===;1.0.0}"));
    assertEquals("1.0.1", macro.process("${version;==+;1.0.0}"));
    assertEquals("1.1.1", macro.process("${version;=++;1.0.0}"));
    assertEquals("2.1.1", macro.process("${version;+++;1.0.0}"));
    assertEquals("0.1.1", macro.process("${version;-++;1.0.0}"));
    assertEquals("0.1.1", macro.process("${version;-++;1.0.0}"));
    assertEquals("0.0.0", macro.process("${version;---;1.1.1}"));
    assertEquals("0.0", macro.process("${version;--;1.1.1}"));
    assertEquals("1", macro.process("${version;=;1.1.1}"));
    assertEquals("[1.1,1.2)", macro.process("[${version;==;1.1.1},${version;=+;1.1.1})"));
    assertEquals("1.1", macro.process("${version;==;1.1.1}"));
    assertEquals("0.1.0", macro.process("${version;=+0;0.0.1}"));
    assertEquals("1.0.0", macro.process("${version;+00;0.1.1}"));
    // Test implicit version
    proc.setProperty("@", "1.2.3");
    assertEquals("[1.2,1.3)", macro.process("[${version;==},${version;=+})"));
    assertEquals("1.2", macro.process("${version;==}"));
    assertEquals("1.3.0", macro.process("${version;=+0}"));
    assertEquals("2.0.0", macro.process("${version;+00}"));
    assertEquals(0, proc.getErrors().size());
    assertEquals(0, proc.getWarnings().size());
    //
    // Add the S modifier. If qualifier is SNAPSHOT, it will return a
    // maven version
    //
    assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===S;1.2.3.SNAPSHOT}"));
    assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===s;1.2.3.SNAPSHOT}"));
    assertEquals("1.2.3.SNAPSHOT", macro.process("${version;====;1.2.3.SNAPSHOT}"));
    assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===S;1.2.3.BUILD-SNAPSHOT}"));
    assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===s;1.2.3.BUILD-SNAPSHOT}"));
    assertEquals("1.2.3.BUILD-SNAPSHOT", macro.process("${version;====;1.2.3.BUILD-SNAPSHOT}"));
    assertEquals("1.2.3.X", macro.process("${version;===S;1.2.3.X}"));
    assertEquals("1.2.3", macro.process("${version;===s;1.2.3.X}"));
    assertEquals("1.2.3.X", macro.process("${version;====;1.2.3.X}"));
}
Also used : Processor(aQute.bnd.osgi.Processor) Macro(aQute.bnd.osgi.Macro)

Example 13 with Macro

use of aQute.bnd.osgi.Macro in project bnd by bndtools.

the class MacroTest method testIf.

public static void testIf() {
    Processor p = new Processor();
    p.setProperty("a", "aaaa");
    Macro m = new Macro(p);
    assertEquals("aaaa", m.process("${if;1;$<a>}"));
    assertEquals("", m.process("${if;;$<a>}"));
    assertEquals("yes", m.process("${if;;$<a>;yes}"));
    assertEquals("yes", m.process("${if;false;$<a>;yes}"));
}
Also used : Processor(aQute.bnd.osgi.Processor) Macro(aQute.bnd.osgi.Macro)

Example 14 with Macro

use of aQute.bnd.osgi.Macro in project bnd by bndtools.

the class MacroTest method testToClassName.

public static void testToClassName() {
    Processor p = new Processor();
    Macro m = new Macro(p);
    assertEquals("com.acme.test.Test", m.process("${toclassname;com/acme/test/Test.class}"));
    assertEquals("Test", m.process("$<toclassname;Test.class>"));
    assertEquals("Test,com.acme.test.Test", m.process("${toclassname;Test.class, com/acme/test/Test.class}"));
    assertEquals("", m.process("$(toclassname;Test)"));
    assertEquals("com/acme/test/Test.class", m.process("$[toclasspath;com.acme.test.Test]"));
    assertEquals("Test.class", m.process("${toclasspath;Test}"));
    assertEquals("Test.class,com/acme/test/Test.class", m.process("${toclasspath;Test,com.acme.test.Test}"));
}
Also used : Processor(aQute.bnd.osgi.Processor) Macro(aQute.bnd.osgi.Macro)

Example 15 with Macro

use of aQute.bnd.osgi.Macro in project bnd by bndtools.

the class MacroTest method testGlobToRegExp.

public void testGlobToRegExp() {
    Processor p = new Processor();
    Macro m = p.getReplacer();
    assertEquals(".*x", m.process("${glob;*x}"));
    assertEquals("(?!.*x)", m.process("${glob;!*x}"));
}
Also used : Processor(aQute.bnd.osgi.Processor) Macro(aQute.bnd.osgi.Macro)

Aggregations

Macro (aQute.bnd.osgi.Macro)32 Processor (aQute.bnd.osgi.Processor)29 Project (aQute.bnd.build.Project)1 VersionedClause (aQute.bnd.build.model.clauses.VersionedClause)1 Attrs (aQute.bnd.header.Attrs)1 Analyzer (aQute.bnd.osgi.Analyzer)1 Version (aQute.bnd.version.Version)1 Description (aQute.lib.getopt.Description)1 Replacer (aQute.libg.sed.Replacer)1 Sed (aQute.libg.sed.Sed)1 File (java.io.File)1 FileReader (java.io.FileReader)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 Reader (java.io.Reader)1 Field (java.lang.reflect.Field)1 InvocationHandler (java.lang.reflect.InvocationHandler)1 Method (java.lang.reflect.Method)1 Proxy (java.lang.reflect.Proxy)1 URL (java.net.URL)1