4.0.0 org.openhab docs 2.0.0-SNAPSHOT openHAB Documentation pom maven-clean-plugin ${basedir}/addons/bindings/ ${basedir}/addons/uis/ ${basedir}/addons/io/ ${basedir}/addons/iconsets/ ${basedir}/concepts/ maven-resources-plugin copy-esh-docs process-resources copy-resources ${basedir}/concepts/ ${basedir}/_repos/smarthome/docs/documentation/concepts **/*.md **/*.png ${basedir}/_repos/smarthome/docs/documentation/development **/guidelines.md copy-binding-docs process-resources copy-resources ${basedir}/addons/bindings/ ${basedir}/_repos/smarthome/extensions/binding **/README.md **/doc/** **/cfg/** ${basedir}/_repos/openhab2-addons/addons/binding **/README.md **/doc/** **/cfg/** copy-iconset-docs process-resources copy-resources ${basedir}/addons/iconsets ${basedir}/_repos/smarthome/extensions/ui/iconset **/README.md **/icons/** copy-ui-docs process-resources copy-resources ${basedir}/addons/uis ${basedir}/_repos/smarthome/extensions/ui **/README.md **/doc/** **/cfg/** **/iconset/** copy-io-docs process-resources copy-resources ${basedir}/addons/io ${basedir}/_repos/openhab2-addons/addons/io **/README.md **/doc/** **/cfg/** org.codehaus.groovy.maven gmaven-plugin rename-binding-files process-resources execute def bindings = new File(project.basedir, 'addons/bindings') def bindingList = new File(project.basedir, '_data/bindings.csv') bindingList.write("id,label,description\n") bindings.eachFile { def name = it.name if(name.contains('binding')) { def bindingId = it.name.replace('org.eclipse.smarthome.binding.', '').replace('org.openhab.binding.', '') def simpleBindingNameDir = new File(bindings.path, bindingId) it.renameTo(simpleBindingNameDir) def readme = new File(simpleBindingNameDir.path, 'README.md') if(readme.exists()) { println readme readme.renameTo(new File(simpleBindingNameDir.path, 'readme.md')) if(!readme.text.startsWith('---')) { readme.write("---\nlayout: documentation\n---\n\n{% include base.html %}\n\n" + readme.text) } def label = readme.readLines().find{it.startsWith('#')}.replace('#', '').replace(' Binding', '').trim() def description = "" boolean firstHeadline = false for(def line : readme.readLines()) { if(line.startsWith('#')) { if(!firstHeadline) { firstHeadline = true } } else { if(firstHeadline && line.trim().size() > 0) { description = line.trim() break } } } bindingList.append(bindingId + ',' + label + ',"' + description + '"\n') } } } process-openhab1-addons process-resources execute def feature = new File(project.basedir, '_repos/openhab/features/openhab-addons/src/main/feature/feature.xml') def addonList = new File(project.basedir, '_data/oh1addons.csv') addonList.write("category,label\n") def root = new XmlParser().parse(feature) root.feature.each { def name = it['@name'].substring(8) def category = name.substring(0,name.indexOf('-')) def label = it['@description'] if(category!='io' && category!='transport') addonList.append(category + ',' + label + '\n') } rename-iconset-files process-resources execute def iconsets = new File(project.basedir, 'addons/iconsets') iconsets.eachFile { def name = it.name if(name.contains('iconset')) { def iconsetId = it.name.replace('org.eclipse.smarthome.ui.iconset.', '') def simpleIconsetNameDir = new File(iconsets.path, iconsetId) it.renameTo(simpleIconsetNameDir) def readme = new File(simpleIconsetNameDir.path, 'README.md') if(readme.exists()) { println readme readme.renameTo(new File(simpleIconsetNameDir.path, 'readme.md')) } } } rename-ui-files process-resources execute def uis = new File(project.basedir, 'addons/uis') uis.eachFile { def name = it.name if(name.contains('smarthome.ui.') && !name.contains('iconset')) { def uiId = it.name.replace('org.eclipse.smarthome.ui.', '') def simpleUiNameDir = new File(uis.path, uiId) it.renameTo(simpleUiNameDir) def readme = new File(simpleUiNameDir.path, 'README.md') if(readme.exists()) { println readme readme.renameTo(new File(simpleUiNameDir.path, 'readme.md')) } } } rename-io-files process-resources execute def uis = new File(project.basedir, 'addons/io') uis.eachFile { def name = it.name if(name.contains('org.openhab.io.')) { def uiId = it.name.replace('org.openhab.io.', '') def simpleUiNameDir = new File(uis.path, uiId) it.renameTo(simpleUiNameDir) def readme = new File(simpleUiNameDir.path, 'README.md') if(readme.exists()) { println readme readme.renameTo(new File(simpleUiNameDir.path, 'readme.md')) if(!readme.text.startsWith('---')) { readme.write("---\nlayout: documentation\n---\n\n{% include base.html %}\n\n" + readme.text) } } } }