Итак, я нашел ответ на оба вопроса.
Во-первых, странная ошибка произошла из-за этого:
deploy:
- provider: script
script:
- do something
- do something else
- do another thing
Обычная директива script
в сборках Travis CI принимает последовательность, но директива script
в провайдере развертывания script
разные и принимает только одну строку, которую он вызывает как одну команду. Вы даже не можете передать многострочную строку. Все еще не работает. Я подал эту ошибку Трэвису об этом и, пока она не исправлена, нашел временный обходной путь для этой проблемы, используя before_deploy
(ниже).
Во-вторых, если вы используете директиву deploy
верхнего уровня, то развертывание будет выполняться как часть этапа сборки, а не как его собственный этап. Документация по этому вопросу не ясна, но это было легко исправить.
Наконец, вы можете зашифровать только один файл, а не несколько файлов, поэтому, если у вас есть несколько секретных файлов, вы должны использовать архив Tar и зашифровать его.
Вот рабочая сборка Трэвиса после того, как я решил все свои проблемы:
language: java
sudo: false
cache:
directories:
- "$HOME/.cache"
jobs:
include:
- stage: build
os: linux
dist: trusty
jdk: oraclejdk8
- stage: build
os: linux
dist: trusty
jdk: openjdk8
- stage: build
os: linux
dist: xenial
jdk: oraclejdk11
- stage: build
os: linux
dist: xenial
jdk: openjdk11
- stage: deploy
os: linux
dist: xenial
jdk: openjdk8
before_deploy:
- openssl aes-256-cbc -in .travis.secrets.tar.enc -out .travis.secrets.tar -d
- tar -xvf .travis.secrets.tar
- rm .travis.secrets.tar
- gpg --import travis.gpg
- rm travis.gpg
- mv settings.xml $HOME/.m2/settings.xml
deploy:
- provider: script
script: "mvn clean deploy -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -P sign -B -V -e"
on:
tags: true
skip_cleanup: true
- provider: releases
api_key:
secure: CKKEi9hoN...xbzZByUU80Q=
file_glob: true
file:
- $HOME/.m2/repository/io/path/to/project-*.pom
- $HOME/.m2/repository/io/path/to/project-*.pom.asc
on:
tags: true
stages:
- build
- name: deploy
if: tag =~ ^[0-9]+\.[0-9]+(\.[0-9]+)?(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
install:
- gpg --version
- mvn process-resources -B -V -e
script:
- mvn test -B -V -e
Я закончил тем, что делал его вручную. Я добавляющий вспомогательный тэг к тегу текста заголовка, как так.
<h:outputText value="#{column}">
<a4j:support event="onclick" action="#{pageDataModel.sort(idx)}"
eventsQueue="instancesQueue"
reRender="instanceList,instanceListScroller"/>
</h:outputText>
Для получения возрастающих/убывающих стрелок я добавил класс CSS.
<h:outputText value="#{column}" styleClass="#{pageDataModel.getOrderClass(idx)}" >
<a4j:support event="onclick" action="#{pageDataModel.sort(idx)}"
eventsQueue="instancesQueue"
reRender="instanceList,instanceListScroller"/>
</h:outputText>
Взгляните на "sortBy" свойство "rich:columns", возможно, это - то, что Вы ищете. Ссылка Richfaces
Наклоните Вас, просто используют Collection.sort (), когда Вы получаете Список?
Ваша модель данных должна реализовывать "изменяемый" интерфейс.
Таблица данных вызовет метод modify ()
для выполнения серверной
сортировки и фильтрации.
Здесь есть довольно элегантное решение этого решения:
http://livedemo.exadel.com/richfaces-demo/richfaces/sortingFeature.jsf?tab=ex-usage
В этой демонстрации не используется тег.