読者です 読者をやめる 読者になる 読者になる

とりあえず α リリース

これが何なのかとかの説明は今度書きます

<?xml version="1.0" encoding="UTF-8"?><project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.yoshiori</groupId>
  <artifactId>sample</artifactId>
  <name>sample</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <build>
    <plugins>
      <plugin>
        <groupId>org.yoshiori.mvn.plugins</groupId>
        <artifactId>maven-jython-plugin</artifactId>
        <version>0.5</version>
      </plugin>
    </plugins>
  </build>
  <pluginRepositories>
    <pluginRepository>
      <id>yoshiori.org</id>
      <name>Yoshiori Maven2 Repository</name>
      <url>http://yoshiori.org/maven2</url>
    </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.4</version>
    </dependency>
  </dependencies>
</project>

こんなんで

$ mvn jython:console

すると

[INFO] jython:console
*sys-package-mgr*: can't create package cache dir, '/home/yoshiori/.m2/repository/org/python/jython/2.2.1/jython-2.2.1.jar/cachedir/packages'
Jython 2.2.1 on java1.6.0_0
>>> from org.apache.commons.lang import StringUtils
>>> dir(StringUtils)
['EMPTY', 'INDEX_NOT_FOUND', 'abbreviate', 'capitalise', 'capitaliseAllWords', 'capitalize', 'center', 'chomp', 'chompLast', 'chop', 'chopNewline', 'clean', 'concatenate', 'contains', 'containsAny', 'containsIgnoreCase', 'containsNone', 'containsOnly', 'countMatches', 'defaultIfEmpty', 'defaultString', 'deleteSpaces', 'deleteWhitespace', 'difference', 'endsWith', 'endsWithIgnoreCase', 'equals', 'equalsIgnoreCase', 'escape', 'getChomp', 'getCommonPrefix', 'getLevenshteinDistance', 'getNestedString', 'getPrechomp', 'indexOf', 'indexOfAny', 'indexOfAnyBut', 'indexOfDifference', 'isAlpha', 'isAlphaSpace', 'isAlphanumeric', 'isAlphanumericSpace', 'isAsciiPrintable', 'isBlank', 'isEmpty', 'isNotBlank', 'isNotEmpty', 'isNumeric', 'isNumericSpace', 'isWhitespace', 'join', 'lastIndexOf', 'lastIndexOfAny', 'left', 'leftPad', 'length', 'lowerCase', 'mid', 'ordinalIndexOf', 'overlay', 'overlayString', 'prechomp', 'remove', 'removeEnd', 'removeEndIgnoreCase', 'removeStart', 'removeStartIgnoreCase', 'repeat', 'replace', 'replaceChars', 'replaceEach', 'replaceEachRepeatedly', 'replaceOnce', 'reverse', 'reverseDelimited', 'reverseDelimitedString', 'right', 'rightPad', 'split', 'splitByCharacterType', 'splitByCharacterTypeCamelCase', 'splitByWholeSeparator', 'splitByWholeSeparatorPreserveAllTokens', 'splitPreserveAllTokens', 'startsWith', 'startsWithIgnoreCase', 'strip', 'stripAll', 'stripEnd', 'stripStart', 'stripToEmpty', 'stripToNull', 'substring', 'substringAfter', 'substringAfterLast', 'substringBefore', 'substringBeforeLast', 'substringBetween', 'substringsBetween', 'swapCase', 'trim', 'trimToEmpty', 'trimToNull', 'uncapitalise', 'uncapitalize', 'upperCase']
>>> StringUtils.isNotEmpty(" ")
1
>>> from org.yoshiori import App
>>> App()
org.yoshiori.App@15c80a4
>>> dir(_)
['__init__', 'class', 'equals', 'getClass', 'hashCode', 'notify', 'notifyAll', 'test', 'toString', 'wait']
>>> app = App()
>>> app.test()
test

とか出来るようになった。