Skip to content

Console Output

10:24:54 [2023-06-18T14:24:54.987Z] Started by user Christian Dietrich
10:24:54 [2023-06-18T14:24:54.987Z] Running as Christian Dietrich
10:24:55 [2023-06-18T14:24:55.309Z] Obtained Jenkinsfile from git https://github.com/eclipse/xtext-website.git
10:24:55 [2023-06-18T14:24:55.336Z] [Pipeline] Start of Pipeline
10:24:57 [2023-06-18T14:24:57.196Z] [Pipeline] echo
10:24:57 [2023-06-18T14:24:57.196Z] [WARNING] label option is deprecated. To use a static pod template, use the 'inheritFrom' option.
10:24:57 [2023-06-18T14:24:57.198Z] [Pipeline] podTemplate
10:24:57 [2023-06-18T14:24:57.210Z] [Pipeline] {
10:24:58 [2023-06-18T14:24:58.106Z] [Pipeline] node
10:25:13 [2023-06-18T14:25:13.107Z] Still waiting to schedule task
10:25:13 [2023-06-18T14:25:13.107Z] Waiting for next available executor
10:25:23 [2023-06-18T14:25:23.778Z] Created Pod: kubernetes xtext/xtext-build-pod-jjc1m-1397v
10:25:40 [2023-06-18T14:25:40.842Z] Agent xtext-build-pod-jjc1m-1397v is provisioned from template xtext-build-pod-jjc1m
10:25:40 [2023-06-18T14:25:40.843Z] ---
10:25:40 [2023-06-18T14:25:40.843Z] apiVersion: "v1"
10:25:40 [2023-06-18T14:25:40.843Z] kind: "Pod"
10:25:40 [2023-06-18T14:25:40.843Z] metadata:
10:25:40 [2023-06-18T14:25:40.843Z]   annotations:
10:25:40 [2023-06-18T14:25:40.843Z]     buildUrl: "http://jenkins-ui.xtext.svc.cluster.local/xtext/job/releng/job/website-deploy-experiments/3/"
10:25:40 [2023-06-18T14:25:40.843Z]     runUrl: "job/releng/job/website-deploy-experiments/3/"
10:25:40 [2023-06-18T14:25:40.843Z]   labels:
10:25:40 [2023-06-18T14:25:40.843Z]     jenkins: "slave"
10:25:40 [2023-06-18T14:25:40.843Z]     jenkins/label-digest: "aed0bef94b5656ea0ec8ece53f5476283a92a40a"
10:25:40 [2023-06-18T14:25:40.843Z]     jenkins/label: "xtext-build-pod"
10:25:40 [2023-06-18T14:25:40.843Z]   name: "xtext-build-pod-jjc1m-1397v"
10:25:40 [2023-06-18T14:25:40.843Z]   namespace: "xtext"
10:25:40 [2023-06-18T14:25:40.843Z] spec:
10:25:40 [2023-06-18T14:25:40.843Z]   containers:
10:25:40 [2023-06-18T14:25:40.843Z]   - args:
10:25:40 [2023-06-18T14:25:40.843Z]     - "$(JENKINS_SECRET)"
10:25:40 [2023-06-18T14:25:40.843Z]     - "$(JENKINS_NAME)"
10:25:40 [2023-06-18T14:25:40.843Z]     env:
10:25:40 [2023-06-18T14:25:40.843Z]     - name: "JENKINS_SECRET"
10:25:40 [2023-06-18T14:25:40.843Z]       value: "********"
10:25:40 [2023-06-18T14:25:40.843Z]     - name: "JENKINS_TUNNEL"
10:25:40 [2023-06-18T14:25:40.843Z]       value: "jenkins-discovery.xtext.svc.cluster.local:50000"
10:25:40 [2023-06-18T14:25:40.843Z]     - name: "JENKINS_AGENT_NAME"
10:25:40 [2023-06-18T14:25:40.843Z]       value: "xtext-build-pod-jjc1m-1397v"
10:25:40 [2023-06-18T14:25:40.843Z]     - name: "JENKINS_NAME"
10:25:40 [2023-06-18T14:25:40.843Z]       value: "xtext-build-pod-jjc1m-1397v"
10:25:40 [2023-06-18T14:25:40.843Z]     - name: "JENKINS_AGENT_WORKDIR"
10:25:40 [2023-06-18T14:25:40.843Z]       value: "/home/jenkins/agent"
10:25:40 [2023-06-18T14:25:40.843Z]     - name: "JENKINS_URL"
10:25:40 [2023-06-18T14:25:40.843Z]       value: "http://jenkins-ui.xtext.svc.cluster.local/xtext/"
10:25:40 [2023-06-18T14:25:40.843Z]     image: "eclipsecbi/jenkins-jnlp-agent"
10:25:40 [2023-06-18T14:25:40.843Z]     name: "jnlp"
10:25:40 [2023-06-18T14:25:40.843Z]     resources:
10:25:40 [2023-06-18T14:25:40.843Z]       requests:
10:25:40 [2023-06-18T14:25:40.843Z]         memory: "256Mi"
10:25:40 [2023-06-18T14:25:40.843Z]         cpu: "100m"
10:25:40 [2023-06-18T14:25:40.843Z]     volumeMounts:
10:25:40 [2023-06-18T14:25:40.843Z]     - mountPath: "/home/jenkins/.ssh"
10:25:40 [2023-06-18T14:25:40.843Z]       name: "volume-known-hosts"
10:25:40 [2023-06-18T14:25:40.843Z]     - mountPath: "/home/jenkins/agent"
10:25:40 [2023-06-18T14:25:40.843Z]       name: "workspace-volume"
10:25:40 [2023-06-18T14:25:40.843Z]       readOnly: false
10:25:40 [2023-06-18T14:25:40.843Z]   - image: "docker.io/smoht/xtext-buildenv:0.7"
10:25:40 [2023-06-18T14:25:40.843Z]     name: "xtext-buildenv"
10:25:40 [2023-06-18T14:25:40.843Z]     resources:
10:25:40 [2023-06-18T14:25:40.843Z]       limits:
10:25:40 [2023-06-18T14:25:40.843Z]         memory: "2Gi"
10:25:40 [2023-06-18T14:25:40.843Z]         cpu: "1"
10:25:40 [2023-06-18T14:25:40.843Z]       requests:
10:25:40 [2023-06-18T14:25:40.843Z]         memory: "2Gi"
10:25:40 [2023-06-18T14:25:40.843Z]         cpu: "1"
10:25:40 [2023-06-18T14:25:40.843Z]     tty: true
10:25:40 [2023-06-18T14:25:40.843Z]     volumeMounts:
10:25:40 [2023-06-18T14:25:40.843Z]     - mountPath: "/home/jenkins/.ssh"
10:25:40 [2023-06-18T14:25:40.843Z]       name: "volume-known-hosts"
10:25:40 [2023-06-18T14:25:40.843Z]     - mountPath: "/home/jenkins/agent"
10:25:40 [2023-06-18T14:25:40.843Z]       name: "workspace-volume"
10:25:40 [2023-06-18T14:25:40.843Z]       readOnly: false
10:25:40 [2023-06-18T14:25:40.843Z]   nodeSelector:
10:25:40 [2023-06-18T14:25:40.843Z]     kubernetes.io/os: "linux"
10:25:40 [2023-06-18T14:25:40.843Z]   restartPolicy: "Never"
10:25:40 [2023-06-18T14:25:40.843Z]   volumes:
10:25:40 [2023-06-18T14:25:40.843Z]   - emptyDir:
10:25:40 [2023-06-18T14:25:40.843Z]       medium: ""
10:25:40 [2023-06-18T14:25:40.843Z]     name: "workspace-volume"
10:25:40 [2023-06-18T14:25:40.843Z]   - configMap:
10:25:40 [2023-06-18T14:25:40.843Z]       name: "known-hosts"
10:25:40 [2023-06-18T14:25:40.843Z]     name: "volume-known-hosts"
10:25:40 [2023-06-18T14:25:40.843Z] 
10:25:40 [2023-06-18T14:25:40.843Z] Running on xtext-build-pod-jjc1m-1397v in /home/jenkins/agent/workspace/releng/website-deploy-experiments
10:25:41 [2023-06-18T14:25:41.098Z] [Pipeline] {
10:25:42 [2023-06-18T14:25:42.127Z] [Pipeline] stage
10:25:42 [2023-06-18T14:25:42.127Z] [Pipeline] { (Declarative: Checkout SCM)
10:25:42 [2023-06-18T14:25:42.795Z] [Pipeline] checkout
10:25:46 [2023-06-18T14:25:46.064Z] The recommended git tool is: git
10:25:55 [2023-06-18T14:25:55.350Z] No credentials specified
10:25:55 [2023-06-18T14:25:55.353Z] Cloning the remote Git repository
10:25:55 [2023-06-18T14:25:55.353Z] Using no checkout clone with sparse checkout.
10:25:55 [2023-06-18T14:25:55.353Z] Using shallow clone with depth 1
10:25:55 [2023-06-18T14:25:55.353Z] Avoid fetching tags
10:25:55 [2023-06-18T14:25:55.446Z] Cloning repository https://github.com/eclipse/xtext-website.git
10:25:55 [2023-06-18T14:25:55.468Z]  > git init /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo # timeout=10
10:25:55 [2023-06-18T14:25:55.648Z] Fetching upstream changes from https://github.com/eclipse/xtext-website.git
10:25:55 [2023-06-18T14:25:55.649Z]  > git --version # timeout=10
10:25:55 [2023-06-18T14:25:55.653Z]  > git --version # 'git version 2.20.1'
10:25:55 [2023-06-18T14:25:55.654Z]  > git fetch --no-tags --force --progress --depth=1 -- https://github.com/eclipse/xtext-website.git +refs/heads/*:refs/remotes/origin/* # timeout=10
10:26:02 [2023-06-18T14:26:02.753Z]  > git config remote.origin.url https://github.com/eclipse/xtext-website.git # timeout=10
10:26:02 [2023-06-18T14:26:02.757Z]  > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
10:26:06 [2023-06-18T14:26:06.059Z] Avoid second fetch
10:26:06 [2023-06-18T14:26:06.164Z] Checking out Revision b0d67a8b7116ce9dcf2d342d51dbcbd5f47c49f9 (refs/remotes/origin/cd_issue2706)
10:26:06 [2023-06-18T14:26:06.060Z]  > git rev-parse refs/remotes/origin/cd_issue2706^{commit} # timeout=10
10:26:06 [2023-06-18T14:26:06.749Z]  > git config core.sparsecheckout # timeout=10
10:26:06 [2023-06-18T14:26:06.846Z]  > git config core.sparsecheckout true # timeout=10
10:26:06 [2023-06-18T14:26:06.951Z]  > git read-tree -mu HEAD # timeout=10
10:26:06 [2023-06-18T14:26:06.955Z]  > git checkout -f b0d67a8b7116ce9dcf2d342d51dbcbd5f47c49f9 # timeout=10
10:26:09 [2023-06-18T14:26:09.160Z] Commit message: "Adapt to Foundation website changes"
10:26:09 [2023-06-18T14:26:09.161Z] First time build. Skipping changelog.
10:26:09 [2023-06-18T14:26:09.162Z] Cleaning workspace
10:26:10 [2023-06-18T14:26:10.103Z] [Pipeline] }
10:26:10 [2023-06-18T14:26:10.362Z] [Pipeline] // stage
10:26:09 [2023-06-18T14:26:09.162Z]  > git rev-parse --verify HEAD # timeout=10
10:26:09 [2023-06-18T14:26:09.247Z] Resetting working tree
10:26:09 [2023-06-18T14:26:09.248Z]  > git reset --hard # timeout=10
10:26:09 [2023-06-18T14:26:09.756Z]  > git clean -fdx # timeout=10
10:26:11 [2023-06-18T14:26:11.273Z] [Pipeline] withEnv
10:26:11 [2023-06-18T14:26:11.274Z] [Pipeline] {
10:26:13 [2023-06-18T14:26:13.621Z] [Pipeline] timeout
10:26:13 [2023-06-18T14:26:13.621Z] Timeout set to expire in 30 min
10:26:13 [2023-06-18T14:26:13.623Z] [Pipeline] {
10:26:15 [2023-06-18T14:26:15.667Z] [Pipeline] stage
10:26:15 [2023-06-18T14:26:15.668Z] [Pipeline] { (Checkout)
10:26:21 [2023-06-18T14:26:21.203Z] [Pipeline] sshagent
10:26:21 [2023-06-18T14:26:21.284Z] [ssh-agent] Using credentials genie-xtext (GitHub bot (SSH))
10:26:21 [2023-06-18T14:26:21.284Z] [ssh-agent] Looking for ssh-agent implementation...
10:26:21 [2023-06-18T14:26:21.466Z] [ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
10:26:21 [2023-06-18T14:26:21.546Z] $ ssh-agent
10:26:21 [2023-06-18T14:26:21.647Z] SSH_AUTH_SOCK=/tmp/ssh-KOr2XH8iOABf/agent.161
10:26:21 [2023-06-18T14:26:21.647Z] SSH_AGENT_PID=163
10:26:21 [2023-06-18T14:26:21.756Z] Running ssh-add (command line suppressed)
10:26:21 [2023-06-18T14:26:21.848Z] Identity added: /home/jenkins/agent/workspace/releng/website-deploy-experiments@tmp/private_key_3827400651757009890.key (/home/jenkins/agent/workspace/releng/website-deploy-experiments@tmp/private_key_3827400651757009890.key)
10:26:21 [2023-06-18T14:26:21.950Z] [ssh-agent] Started.
10:26:21 [2023-06-18T14:26:21.951Z] [Pipeline] {
10:26:22 [2023-06-18T14:26:22.608Z] [Pipeline] sh
10:26:23 [2023-06-18T14:26:23.361Z] + rm -rf deploy-xtext-git-repo
10:26:23 [2023-06-18T14:26:23.361Z] + git clone -b master git@github.com:eclipse/xtext-website-publish.git deploy-xtext-git-repo
10:26:23 [2023-06-18T14:26:23.361Z] Cloning into 'deploy-xtext-git-repo'...
10:26:29 [2023-06-18T14:26:29.810Z] [Pipeline] }
10:26:29 [2023-06-18T14:26:29.847Z] $ ssh-agent -k
10:26:29 [2023-06-18T14:26:29.851Z] unset SSH_AUTH_SOCK;
10:26:29 [2023-06-18T14:26:29.852Z] unset SSH_AGENT_PID;
10:26:29 [2023-06-18T14:26:29.852Z] echo Agent pid 163 killed;
10:26:29 [2023-06-18T14:26:29.860Z] [ssh-agent] Stopped.
10:26:30 [2023-06-18T14:26:30.122Z] [Pipeline] // sshagent
10:26:30 [2023-06-18T14:26:30.511Z] [Pipeline] }
10:26:30 [2023-06-18T14:26:30.763Z] [Pipeline] // stage
10:26:31 [2023-06-18T14:26:31.550Z] [Pipeline] stage
10:26:31 [2023-06-18T14:26:31.551Z] [Pipeline] { (Generate site)
10:26:37 [2023-06-18T14:26:37.031Z] [Pipeline] container
10:26:37 [2023-06-18T14:26:37.031Z] [Pipeline] {
10:26:37 [2023-06-18T14:26:37.694Z] [Pipeline] echo
10:26:37 [2023-06-18T14:26:37.695Z] Building..
10:26:37 [2023-06-18T14:26:37.696Z] [Pipeline] dir
10:26:37 [2023-06-18T14:26:37.696Z] Running in /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website
10:26:37 [2023-06-18T14:26:37.697Z] [Pipeline] {
10:26:38 [2023-06-18T14:26:38.469Z] [Pipeline] sh
10:26:38 [2023-06-18T14:26:38.979Z] + bundle exec jekyll build
10:26:38 [2023-06-18T14:26:38.979Z] `/home/default` is not writable.
10:26:38 [2023-06-18T14:26:38.979Z] Bundler will use `/tmp/bundler/home/unknown' as your home directory temporarily.
10:26:39 [2023-06-18T14:26:39.546Z] Configuration file: /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_config.yml
10:26:39 [2023-06-18T14:26:39.546Z]             Source: /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website
10:26:39 [2023-06-18T14:26:39.546Z]        Destination: /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site
10:26:39 [2023-06-18T14:26:39.546Z]       Generating... 
10:26:40 [2023-06-18T14:26:40.116Z]                     done.
10:26:40 [2023-06-18T14:26:40.116Z]  Auto-regeneration: disabled. Use --watch to enable.
10:26:40 [2023-06-18T14:26:40.420Z] [Pipeline] }
10:26:40 [2023-06-18T14:26:40.674Z] [Pipeline] // dir
10:26:41 [2023-06-18T14:26:41.234Z] [Pipeline] dir
10:26:41 [2023-06-18T14:26:41.234Z] Running in /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtend-website
10:26:41 [2023-06-18T14:26:41.235Z] [Pipeline] {
10:26:41 [2023-06-18T14:26:41.869Z] [Pipeline] sh
10:26:42 [2023-06-18T14:26:42.381Z] + bundle exec jekyll build --destination ../xtext-website/_site/xtend
10:26:42 [2023-06-18T14:26:42.381Z] `/home/default` is not writable.
10:26:42 [2023-06-18T14:26:42.381Z] Bundler will use `/tmp/bundler/home/unknown' as your home directory temporarily.
10:26:42 [2023-06-18T14:26:42.953Z] Configuration file: /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtend-website/_config.yml
10:26:42 [2023-06-18T14:26:42.953Z]             Source: /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtend-website
10:26:42 [2023-06-18T14:26:42.953Z]        Destination: ../xtext-website/_site/xtend
10:26:42 [2023-06-18T14:26:42.953Z]       Generating... 
10:26:43 [2023-06-18T14:26:43.327Z]                     done.
10:26:43 [2023-06-18T14:26:43.327Z]  Auto-regeneration: disabled. Use --watch to enable.
10:26:43 [2023-06-18T14:26:43.610Z] [Pipeline] }
10:26:43 [2023-06-18T14:26:43.863Z] [Pipeline] // dir
10:26:44 [2023-06-18T14:26:44.242Z] [Pipeline] }
10:26:44 [2023-06-18T14:26:44.818Z] [Pipeline] // container
10:26:45 [2023-06-18T14:26:45.201Z] [Pipeline] }
10:26:45 [2023-06-18T14:26:45.817Z] [Pipeline] // stage
10:26:46 [2023-06-18T14:26:46.769Z] [Pipeline] stage
10:26:46 [2023-06-18T14:26:46.770Z] [Pipeline] { (Commit changes)
10:26:52 [2023-06-18T14:26:52.304Z] [Pipeline] dir
10:26:52 [2023-06-18T14:26:52.304Z] Running in /home/jenkins/agent/workspace/releng/website-deploy-experiments/deploy-xtext-git-repo
10:26:52 [2023-06-18T14:26:52.305Z] [Pipeline] {
10:26:53 [2023-06-18T14:26:53.068Z] [Pipeline] sh
10:26:53 [2023-06-18T14:26:53.346Z] + git config user.name genie-xtext
10:26:53 [2023-06-18T14:26:53.346Z] + git config user.email xtext-bot@eclipse.org
10:26:53 [2023-06-18T14:26:53.346Z] + cp -r /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/community.html /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/css /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/documentation /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/documentation.html /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/download /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/download.html /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/feed.xml /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/images /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/index.html /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/js /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/news /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/releasenotes /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/releasenotes.html /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/xtend /home/jenkins/agent/workspace/releng/website-deploy-experiments/git-repo/xtext-website/_site/xtext .
10:26:53 [2023-06-18T14:26:53.953Z] + git diff
10:26:54 [2023-06-18T14:26:54.651Z] diff --git a/documentation/102_domainmodelwalkthrough.html b/documentation/102_domainmodelwalkthrough.html
10:26:54 [2023-06-18T14:26:54.651Z] index 8d8b376..9498820 100644
10:26:54 [2023-06-18T14:26:54.651Z] --- a/documentation/102_domainmodelwalkthrough.html
10:26:54 [2023-06-18T14:26:54.651Z] +++ b/documentation/102_domainmodelwalkthrough.html
10:26:54 [2023-06-18T14:26:54.651Z] @@ -432,7 +432,7 @@ QualifiedName:
10:26:54 [2023-06-18T14:26:54.651Z]      ID ('.' ID)*;
10:26:54 [2023-06-18T14:26:54.651Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z] -    <p>The <code>QualifiedName</code> is a little special. It does not contain any assignments. Therefore it serves as a data type rule that returns a String. Hence the feature <code>name</code> of a <em>Package</em> is still of type <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a>.</p>
10:26:54 [2023-06-18T14:26:54.651Z] +    <p>The <code>QualifiedName</code> is a little special. It does not contain any assignments. Therefore it serves as a data type rule that returns a String. Hence the feature <code>name</code> of a <em>Package</em> is still of type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a>.</p>
10:26:54 [2023-06-18T14:26:54.651Z]    </li>
10:26:54 [2023-06-18T14:26:54.651Z]    <li>
10:26:54 [2023-06-18T14:26:54.651Z]      <p>Imports can be defined in a very convenient way with Xtext. If you use the name <code>importedNamespace</code> in a parser rule, the framework will treat the value as an import. It even supports wildcards and handles them as expected:</p>
10:26:54 [2023-06-18T14:26:54.651Z] diff --git a/documentation/103_domainmodelnextsteps.html b/documentation/103_domainmodelnextsteps.html
10:26:54 [2023-06-18T14:26:54.651Z] index 37505b4..b0a54b4 100644
10:26:54 [2023-06-18T14:26:54.651Z] --- a/documentation/103_domainmodelnextsteps.html
10:26:54 [2023-06-18T14:26:54.651Z] +++ b/documentation/103_domainmodelnextsteps.html
10:26:54 [2023-06-18T14:26:54.651Z] @@ -430,7 +430,7 @@ public void checkFeatureNameIsUnique(Feature feature) {
10:26:54 [2023-06-18T14:26:54.651Z]      <p><em>Note</em>: When using JUnit 5 the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.testing/src/org/eclipse/xtext/testing/extensions/InjectionExtension.java">InjectionExtension</a> is used instead of the XtextRunner. The Xtext code generator generates the example slightly different, depending on which option you have chosen in the <em>New Xtext Project</em> wizard.</p>
10:26:54 [2023-06-18T14:26:54.651Z]    </li>
10:26:54 [2023-06-18T14:26:54.651Z]    <li>
10:26:54 [2023-06-18T14:26:54.651Z] -    <p>The utility class <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.testing/src/org/eclipse/xtext/testing/util/ParseHelper.java">ParseHelper</a> allows to parse an arbitrary string into a <em>Domainmodel</em>. The model itself can be traversed and checked afterwards. A static import of <a href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html">Assert</a> leads to concise and readable test cases. You can rewrite the generated test case as follows:</p>
10:26:54 [2023-06-18T14:26:54.651Z] +    <p>The utility class <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.testing/src/org/eclipse/xtext/testing/util/ParseHelper.java">ParseHelper</a> allows to parse an arbitrary string into a <em>Domainmodel</em>. The model itself can be traversed and checked afterwards. A static import of <a href="https://junit.sourceforge.net/javadoc/org/junit/Assert.html">Assert</a> leads to concise and readable test cases. You can rewrite the generated test case as follows:</p>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]      <pre><code class="language-xtend"> import static org.junit.Assert.*
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z] diff --git a/documentation/301_grammarlanguage.html b/documentation/301_grammarlanguage.html
10:26:54 [2023-06-18T14:26:54.651Z] index c86663d..ee9f6e6 100644
10:26:54 [2023-06-18T14:26:54.651Z] --- a/documentation/301_grammarlanguage.html
10:26:54 [2023-06-18T14:26:54.651Z] +++ b/documentation/301_grammarlanguage.html
10:26:54 [2023-06-18T14:26:54.651Z] @@ -412,14 +412,14 @@ terminal STRING:
10:26:54 [2023-06-18T14:26:54.651Z]      'datatype' name = ID;
10:26:54 [2023-06-18T14:26:54.651Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z] -<p>The syntactic declaration for datatypes starts with a keyword <code>datatype</code> followed by an assignment: <code>name = ID</code>. The left hand side refers to a feature <em>name</em> of the current object (which has the EClass <em>DataType</em> in this case). The right hand side can be a rule call, a keyword, a <a href="301_grammarlanguage.html#cross-references">cross-reference</a> or an alternative comprised by the former options. The type of the feature needs to be compatible with the type of the expression on the right. As <em>ID</em> returns an <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">EString</a> in this case, the feature <em>name</em> needs to be of type EString as well.</p>
10:26:54 [2023-06-18T14:26:54.651Z] +<p>The syntactic declaration for datatypes starts with a keyword <code>datatype</code> followed by an assignment: <code>name = ID</code>. The left hand side refers to a feature <em>name</em> of the current object (which has the EClass <em>DataType</em> in this case). The right hand side can be a rule call, a keyword, a <a href="301_grammarlanguage.html#cross-references">cross-reference</a> or an alternative comprised by the former options. The type of the feature needs to be compatible with the type of the expression on the right. As <em>ID</em> returns an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">EString</a> in this case, the feature <em>name</em> needs to be of type EString as well.</p>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]  <p>There are three different assignment operators, each with different semantics.</p>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]  <ol>
10:26:54 [2023-06-18T14:26:54.651Z]    <li>The simple equal sign <code>=</code> is the straightforward assignment, and is used for features which take only one element.</li>
10:26:54 [2023-06-18T14:26:54.651Z]    <li>The <code>+=</code> sign (the add operator) expects a multi-valued feature and adds the value on the right hand side to that feature, which is a list feature.</li>
10:26:54 [2023-06-18T14:26:54.651Z] -  <li>The <code>?=</code> sign (boolean assignment operator) expects a feature of type <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html">EBoolean</a> and sets it to true if the right hand side was consumed, independently from the concrete value of the right hand side.</li>
10:26:54 [2023-06-18T14:26:54.651Z] +  <li>The <code>?=</code> sign (boolean assignment operator) expects a feature of type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html">EBoolean</a> and sets it to true if the right hand side was consumed, independently from the concrete value of the right hand side.</li>
10:26:54 [2023-06-18T14:26:54.651Z]  </ol>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]  <p>The used assignment operator does not influence the cardinality of the expected symbols on the right hand side.</p>
10:26:54 [2023-06-18T14:26:54.651Z] @@ -697,7 +697,7 @@ Fullname:
10:26:54 [2023-06-18T14:26:54.651Z]      ID ('.' ID)*;
10:26:54 [2023-06-18T14:26:54.651Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z] -<p>Note that rules that do not call other parser rules and do neither contain any actions nor <a href="301_grammarlanguage.html#assignments">assignments</a> are considered to be data type rules, and the data type <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">EString</a> is implied if none has been explicitly declared.</p>
10:26:54 [2023-06-18T14:26:54.651Z] +<p>Note that rules that do not call other parser rules and do neither contain any actions nor <a href="301_grammarlanguage.html#assignments">assignments</a> are considered to be data type rules, and the data type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">EString</a> is implied if none has been explicitly declared.</p>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]  <p><a href="303_runtime_concepts.html#value-converter">Value converters</a> are used to transform the parsed string to the actually returned data type value.</p>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z] @@ -797,7 +797,7 @@ This will generate validations and the possibility to change the severity throug
10:26:54 [2023-06-18T14:26:54.651Z]  <ul>
10:26:54 [2023-06-18T14:26:54.651Z]    <li>an <a href="https://git.eclipse.org/r/plugins/gitiles/emf/org.eclipse.emf/+/refs/tags/R2_20_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EAttribute.java">EAttribute</a> in each current return type
10:26:54 [2023-06-18T14:26:54.651Z]      <ul>
10:26:54 [2023-06-18T14:26:54.651Z] -      <li>of type <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html">EBoolean</a> for each feature assignment using the <code>?=</code> operator. No further EReferences or EAttributes are generated from such an assignment.</li>
10:26:54 [2023-06-18T14:26:54.651Z] +      <li>of type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html">EBoolean</a> for each feature assignment using the <code>?=</code> operator. No further EReferences or EAttributes are generated from such an assignment.</li>
10:26:54 [2023-06-18T14:26:54.651Z]        <li>for each assignment with the <code>=</code> or <code>+=</code> operator calling a terminal rule or data type rule. Its type is the return type of the called rule.</li>
10:26:54 [2023-06-18T14:26:54.651Z]      </ul>
10:26:54 [2023-06-18T14:26:54.651Z]    </li>
10:26:54 [2023-06-18T14:26:54.651Z] diff --git a/documentation/302_configuration.html b/documentation/302_configuration.html
10:26:54 [2023-06-18T14:26:54.651Z] index d887cf3..b99f05b 100644
10:26:54 [2023-06-18T14:26:54.651Z] --- a/documentation/302_configuration.html
10:26:54 [2023-06-18T14:26:54.651Z] +++ b/documentation/302_configuration.html
10:26:54 [2023-06-18T14:26:54.651Z] @@ -567,7 +567,7 @@ Workflow {
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]  <h4 id="equinox-setup">Setup within Eclipse-Equinox (OSGi)</h4>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z] -<p>Within Eclipse we have a generated <em>Activator</em>, which creates a Guice <a href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Injector.html">Injector</a> using the <a href="#guicemodules">modules</a>. In addition an <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/IExecutableExtensionFactory.html">IExecutableExtensionFactory</a> is generated for each language, which is used to create <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/IExecutableExtension.html">IExecutableExtensions</a>. This means that everything which is created via extension points is managed by Guice as well, i.e. you can declare dependencies and get them injected upon creation.</p>
10:26:54 [2023-06-18T14:26:54.651Z] +<p>Within Eclipse we have a generated <em>Activator</em>, which creates a Guice <a href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Injector.html">Injector</a> using the <a href="#guicemodules">modules</a>. In addition an <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/IExecutableExtensionFactory.html">IExecutableExtensionFactory</a> is generated for each language, which is used to create <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/IExecutableExtension.html">IExecutableExtensions</a>. This means that everything which is created via extension points is managed by Guice as well, i.e. you can declare dependencies and get them injected upon creation.</p>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]  <p>The only thing you have to do in order to use this factory is to prefix the class with the generated <em>ExecutableExtensionFactory</em> name followed by a colon.</p>
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z] diff --git a/documentation/303_runtime_concepts.html b/documentation/303_runtime_concepts.html
10:26:54 [2023-06-18T14:26:54.651Z] index 96e883a..36987d5 100644
10:26:54 [2023-06-18T14:26:54.651Z] --- a/documentation/303_runtime_concepts.html
10:26:54 [2023-06-18T14:26:54.651Z] +++ b/documentation/303_runtime_concepts.html
10:26:54 [2023-06-18T14:26:54.651Z] @@ -485,7 +485,7 @@ def void printExportedObjects(Resource resource) {
10:26:54 [2023-06-18T14:26:54.651Z]  
10:26:54 [2023-06-18T14:26:54.651Z]  <p>Xtext ships with an index which remembers all <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java">IResourceDescription</a> and their <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IEObjectDescription.java">IEObjectDescription</a> objects. In the IDE-context (i.e. when running the editor, etc.) the index is updated by an incremental project builder. As opposed to that, in a non-UI context you typically do not have to deal with changes, hence the infrastructure can be much simpler. In both situations the global index state is held by an implementation of <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescriptions.java">IResourceDescriptions</a> (note the plural form!). The bound singleton in the UI scenario is even aware of unsaved editor changes, such that all linking happens to the latest possibly unsaved version of the resources. You will find the Guice configuration of the global index in the UI scenario in <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui.shared/src/org/eclipse/xtext/ui/shared/internal/SharedModule.java">SharedModule</a>.</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] -<p>The index is basically a flat list of instances of <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java">IResourceDescription</a>. The index itself doesnโ€™t know about visibility constraints due to class path restriction. Rather than that, they are defined by the referencing language by means of so called <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java">IContainers</a>: While Java might load a resource via <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html">ClassLoader.loadResource()</a> (i.e. using the class path mechanism), another language could load the same resource using the file system paths.</p>
10:26:54 [2023-06-18T14:26:54.652Z] +<p>The index is basically a flat list of instances of <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java">IResourceDescription</a>. The index itself doesnโ€™t know about visibility constraints due to class path restriction. Rather than that, they are defined by the referencing language by means of so called <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java">IContainers</a>: While Java might load a resource via <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html">ClassLoader.loadResource()</a> (i.e. using the class path mechanism), another language could load the same resource using the file system paths.</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <p>Consequently, the information which container a resource belongs to depends on the referencing context. Therefore an <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceServiceProvider.java">IResourceServiceProvider</a> provides another interesting service, which is called <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java">IContainer.Manager</a>. For a given <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java">IResourceDescription</a>, the Manager provides you the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java">IContainer</a> as well as a list of all IContainers which are visible from there. Note that the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescriptions.java">index</a> is globally shared between all languages while the Manager, which adds the semantics of containers, can be very different depending on the language. The following method lists all resources visible from a given <a href="https://git.eclipse.org/r/plugins/gitiles/emf/org.eclipse.emf/+/refs/tags/R2_20_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java">Resource</a>:</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] @@ -509,7 +509,7 @@ def void printVisibleResources(Resource resource, IResourceDescriptions index) {
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <h5 id="jdt-based-containers">JDT-Based Container Manager</h5>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] -<p>As JDT is an Eclipse feature, this JDT-based container management is only available in the UI scenario. It assumes so called <a href="http://help.eclipse.org/luna/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IPackageFragmentRoot.html">IPackageFragmentRoots</a> as containers. An IPackageFragmentRoot in JDT is the root of a tree of Java model elements. It usually refers to</p>
10:26:54 [2023-06-18T14:26:54.652Z] +<p>As JDT is an Eclipse feature, this JDT-based container management is only available in the UI scenario. It assumes so called <a href="https://help.eclipse.org/luna/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IPackageFragmentRoot.html">IPackageFragmentRoots</a> as containers. An IPackageFragmentRoot in JDT is the root of a tree of Java model elements. It usually refers to</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <ul>
10:26:54 [2023-06-18T14:26:54.652Z]    <li>a source folder of a Java project,</li>
10:26:54 [2023-06-18T14:26:54.652Z] @@ -620,7 +620,7 @@ QualifiedNameWithWildcard:
10:26:54 [2023-06-18T14:26:54.652Z]      QualifiedName '.*'?;
10:26:54 [2023-06-18T14:26:54.652Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] -<p>Qualified names with or without a wildcard at the end are supported. For an import of a qualified name the simple name is made available as we know from e.g. Java, where <code>import java.util.Set</code> makes it possible to refer to <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html">java.util.Set</a> by its simple name <em>Set</em>. Contrary to Java, the import is not active for the whole file, but only for the namespace it is declared in and its child namespaces. That is why you can write the following in the example DSL:</p>
10:26:54 [2023-06-18T14:26:54.652Z] +<p>Qualified names with or without a wildcard at the end are supported. For an import of a qualified name the simple name is made available as we know from e.g. Java, where <code>import java.util.Set</code> makes it possible to refer to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html">java.util.Set</a> by its simple name <em>Set</em>. Contrary to Java, the import is not active for the whole file, but only for the namespace it is declared in and its child namespaces. That is why you can write the following in the example DSL:</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <pre><code class="language-domainexample">package foo {
10:26:54 [2023-06-18T14:26:54.652Z]      import bar.Foo
10:26:54 [2023-06-18T14:26:54.652Z] @@ -787,7 +787,7 @@ terminal Plural:
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <h3 id="token-stream">Token Stream</h3>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] -<p>The <a href="#parse-tree-constructor">parse tree constructor</a> and the <a href="#formatting">formatter</a> use an <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/ITokenStream.java">ITokenStream</a> for their output, and the latter for its input as well. This allows for chaining the two components. Token streams can be converted to a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> using the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TokenStringBuffer.java">TokenStringBuffer</a> and to a <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html">Writer</a> using the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/WriterTokenStream.java">WriterTokenStream</a>.</p>
10:26:54 [2023-06-18T14:26:54.652Z] +<p>The <a href="#parse-tree-constructor">parse tree constructor</a> and the <a href="#formatting">formatter</a> use an <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/ITokenStream.java">ITokenStream</a> for their output, and the latter for its input as well. This allows for chaining the two components. Token streams can be converted to a <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> using the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TokenStringBuffer.java">TokenStringBuffer</a> and to a <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html">Writer</a> using the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/WriterTokenStream.java">WriterTokenStream</a>.</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <pre><code class="language-java">public interface ITokenStream {
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] @@ -829,7 +829,7 @@ terminal Plural:
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <h2 id="encoding">Character Encoding</h2>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] -<p>Encoding, aka. <em>character set</em>, describes the way characters are encoded into bytes and vice versa. Famous standard encodings are <em>UTF-8</em> or <em>ISO-8859-1</em>. The list of available encodings can be determined by calling <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Charset.availableCharsets()</a>. There is also a list of encodings and their canonical Java names in the <a href="http://download.oracle.com/javase/1.5.0/docs/guide/intl/encoding.doc.html">API docs</a>.</p>
10:26:54 [2023-06-18T14:26:54.652Z] +<p>Encoding, aka. <em>character set</em>, describes the way characters are encoded into bytes and vice versa. Famous standard encodings are <em>UTF-8</em> or <em>ISO-8859-1</em>. The list of available encodings can be determined by calling <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html">Charset.availableCharsets()</a>. There is also a list of encodings and their canonical Java names in the <a href="http://download.oracle.com/javase/1.5.0/docs/guide/intl/encoding.doc.html">API docs</a>.</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <p>Unfortunately, each platform and/or spoken language tends to define its own native encoding, e.g. <em>Cp1258</em> on Windows in Vietnamese or <em>MacIceland</em> on Mac OS X in Icelandic.</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] diff --git a/documentation/305_xbase.html b/documentation/305_xbase.html
10:26:54 [2023-06-18T14:26:54.652Z] index 8197301..90dd05d 100644
10:26:54 [2023-06-18T14:26:54.652Z] --- a/documentation/305_xbase.html
10:26:54 [2023-06-18T14:26:54.652Z] +++ b/documentation/305_xbase.html
10:26:54 [2023-06-18T14:26:54.652Z] @@ -194,7 +194,7 @@ DataType:
10:26:54 [2023-06-18T14:26:54.652Z]    'mapped-to' javaType=[jvmTypes::JvmType|QualifiedName];
10:26:54 [2023-06-18T14:26:54.652Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] -<p>After regenerating your language, it will be allowed to define a type <code>Date</code> that maps to the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Date.html">Date</a> like this:</p>
10:26:54 [2023-06-18T14:26:54.652Z] +<p>After regenerating your language, it will be allowed to define a type <code>Date</code> that maps to the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html">Date</a> like this:</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <pre><code class="language-javatypesexample">  datatype Date mapped-to java.util.Date
10:26:54 [2023-06-18T14:26:54.652Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.652Z] @@ -343,7 +343,7 @@ entity Person {
10:26:54 [2023-06-18T14:26:54.652Z]  ...
10:26:54 [2023-06-18T14:26:54.652Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z] -<p>You can use entities instead of Java types or even mix Java types as <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html">List</a> with entities such as <em>Person</em>. One way to achieve this is to let your concepts inherit from a corresponding JVM type, e.g. let <em>Entity</em> inherit from <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.common.types/emf-gen/org/eclipse/xtext/common/types/JvmGenericType.java">JvmGenericType</a>. But this would result in a lot of accidentally inherited properties in your domain model. In Xbase there is an alternative: You can simply define how to derive a JVM model from your model. This <em>inferred JVM model</em> is the representation of your concepts in the type system of Xbase.</p>
10:26:54 [2023-06-18T14:26:54.652Z] +<p>You can use entities instead of Java types or even mix Java types as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html">List</a> with entities such as <em>Person</em>. One way to achieve this is to let your concepts inherit from a corresponding JVM type, e.g. let <em>Entity</em> inherit from <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.common.types/emf-gen/org/eclipse/xtext/common/types/JvmGenericType.java">JvmGenericType</a>. But this would result in a lot of accidentally inherited properties in your domain model. In Xbase there is an alternative: You can simply define how to derive a JVM model from your model. This <em>inferred JVM model</em> is the representation of your concepts in the type system of Xbase.</p>
10:26:54 [2023-06-18T14:26:54.652Z]  
10:26:54 [2023-06-18T14:26:54.652Z]  <p>The main component for the inferred JVM model is the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/jvmmodel/IJvmModelInferrer.java">IJvmModelInferrer</a>. It has a single method that takes the root model element as an argument and produces a number of <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.common.types/emf-gen/org/eclipse/xtext/common/types/JvmDeclaredType.java">JvmDeclaredTypes</a>. As Xbase cannot guess how you would like to map your concepts to JVM elements, you have to implement this component yourself. This usually boils down to using an injected <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/jvmmodel/JvmTypesBuilder.java">JvmTypesBuilder</a> to create a hierarchy of JVM elements. The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/jvmmodel/JvmTypesBuilder.java">builder</a> helps to initialize the produced types with sensible defaults and encapsulates the logic that associates the source elements with the derived JVM concepts. As this kind of transformation can be elegantly implemented using polymorphic dispatch functions and extension methods, it is a good choice to write the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/jvmmodel/IJvmModelInferrer.java">IJvmModelInferrer</a> in Xtend. It becomes even simpler if you inherit from the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/jvmmodel/AbstractModelInferrer.java">AbstractModelInferrer</a> which traverses the input model and dispatches to its contents until you decide which elements to handle.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] @@ -602,7 +602,7 @@ public Object evaluate(XExpression expression, Object thisElement) {
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <p>Arrays cannot be instantiated arbitrarily, but there are a couple of useful library functions that allow to create arrays with a fixed length or an initial value set. Besides this restriction, they can be passed around and they are transparently converted to a List of the component type on demand.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>In other words, the return type of a Java method that returns an array of ints (<code>int[]</code>) can be directly assigned to a variable of type <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html">List&lt;Integer&gt;</a>. Due to type inference this conversion happens implicitly. The conversion is bi-directional: Any method that takes an array as argument can be invoked with an argument that has the type <code>List&lt;ComponentType&gt;</code> instead.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>In other words, the return type of a Java method that returns an array of ints (<code>int[]</code>) can be directly assigned to a variable of type <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html">List&lt;Integer&gt;</a>. Due to type inference this conversion happens implicitly. The conversion is bi-directional: Any method that takes an array as argument can be invoked with an argument that has the type <code>List&lt;ComponentType&gt;</code> instead.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <h4 id="xbase-types-function-types">Function Types</h4>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] @@ -669,7 +669,7 @@ jumps over the lazy dog."
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <h5 id="xbase-expressions-number-literal">Number Literals</h5>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>Xbase supports roughly the same number literals as Java with a few notable differences. As in Java 7, you can separate digits using <code>_</code> for better readability of large numbers. An integer literal represents an <code>int</code>, a <code>long</code> (suffix <code>L</code>) or even a <a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html">BigInteger</a> (suffix <code>BI</code>). There are no octal number literals.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>Xbase supports roughly the same number literals as Java with a few notable differences. As in Java 7, you can separate digits using <code>_</code> for better readability of large numbers. An integer literal represents an <code>int</code>, a <code>long</code> (suffix <code>L</code>) or even a <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html">BigInteger</a> (suffix <code>BI</code>). There are no octal number literals.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <pre><code class="language-xbase">  42
10:26:54 [2023-06-18T14:26:54.653Z]    1_234_567_890 
10:26:54 [2023-06-18T14:26:54.653Z] @@ -680,7 +680,7 @@ jumps over the lazy dog."
10:26:54 [2023-06-18T14:26:54.653Z]    0xbeef_beef_beef_beef_beef#BI // BigInteger
10:26:54 [2023-06-18T14:26:54.653Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>A floating-point literal creates a <code>double</code> (suffix <code>D</code> or omitted), a <code>float</code> (suffix <code>F</code>) or a <a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html">BigDecimal</a> (suffix <code>BD</code>). If you use a <code>.</code> sign you have to specify both, the integer and the fractional part of the mantissa. There are only decimal floating-point literals.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>A floating-point literal creates a <code>double</code> (suffix <code>D</code> or omitted), a <code>float</code> (suffix <code>F</code>) or a <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html">BigDecimal</a> (suffix <code>BD</code>). If you use a <code>.</code> sign you have to specify both, the integer and the fractional part of the mantissa. There are only decimal floating-point literals.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <pre><code class="language-xbase">  42d     // double
10:26:54 [2023-06-18T14:26:54.653Z]    0.42e2  // implicit double
10:26:54 [2023-06-18T14:26:54.653Z] @@ -1175,7 +1175,7 @@ bd *= 12bd // equivalent to bd = bd * 12bd
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <p>In order to allow seamless integration with existing Java libraries such as the JDK or Google Guava (formerly known as Google Collect) lambda expressions are auto coerced to expected types if those types declare only one abstract method (methods from <code>java.lang.Object</code> donโ€™t count).</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>As a result given the method <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collections.html">Collections.sort(List&lt;T&gt;, Comparator&lt;? super T&gt;)</a> is available as an extension method, it can be invoked like this</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>As a result given the method <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html">Collections.sort(List&lt;T&gt;, Comparator&lt;? super T&gt;)</a> is available as an extension method, it can be invoked like this</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <pre><code class="language-xbase">newArrayList( 'aaa', 'bb', 'c' ).sort [
10:26:54 [2023-06-18T14:26:54.653Z]    e1, e2 | if ( e1.length &gt; e2.length ) {
10:26:54 [2023-06-18T14:26:54.653Z] @@ -1254,7 +1254,7 @@ bd *= 12bd // equivalent to bd = bd * 12bd
10:26:54 [2023-06-18T14:26:54.653Z]  }
10:26:54 [2023-06-18T14:26:54.653Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>the main expression <code>e</code> is evaluated first and then each case sequentially. If the switch expression contains a variable declaration using the syntax known from <a href="#xbase-expressions-for-loop">for loops</a>, the value is bound to the given name. Expressions of type <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html">Boolean</a> or <code>boolean</code> are not allowed in a switch expression.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>the main expression <code>e</code> is evaluated first and then each case sequentially. If the switch expression contains a variable declaration using the syntax known from <a href="#xbase-expressions-for-loop">for loops</a>, the value is bound to the given name. Expressions of type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html">Boolean</a> or <code>boolean</code> are not allowed in a switch expression.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <p>The guard of each case clause is evaluated until the switch value equals the result of the caseโ€™s guard expression or if the caseโ€™s guard expression evaluates to <code>true</code>. Then the right hand expression of the case evaluated and the result is returned.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] @@ -1383,9 +1383,9 @@ switch x {
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <h4 id="xbase-expressions-for-loop">For Loop</h4>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>The for loop <code>for (T1 variable : iterableOfT1) expression</code> is used to execute a certain expression for each element of an array of an instance of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html">Iterable</a>. The local <code>variable</code> is final, hence cannot be updated.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>The for loop <code>for (T1 variable : iterableOfT1) expression</code> is used to execute a certain expression for each element of an array of an instance of <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html">Iterable</a>. The local <code>variable</code> is final, hence cannot be updated.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>The type of a for loop is <code>void</code>. The type of the local variable can optionally be inferred from the type of the array or the element type of the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html">Iterable</a> returned by the iterable expression.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>The type of a for loop is <code>void</code>. The type of the local variable can optionally be inferred from the type of the array or the element type of the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html">Iterable</a> returned by the iterable expression.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <ul>
10:26:54 [2023-06-18T14:26:54.653Z]    <li>
10:26:54 [2023-06-18T14:26:54.653Z] @@ -1475,7 +1475,7 @@ switch x {
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <h4 id="xbase-expressions-throw">Throwing Exceptions</h4>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>It is possible to throw <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html">Throwable</a>. The syntax is exactly the same as in Java.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>It is possible to throw <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html">Throwable</a>. The syntax is exactly the same as in Java.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <pre><code class="language-xbase">{
10:26:54 [2023-06-18T14:26:54.653Z]    ...
10:26:54 [2023-06-18T14:26:54.653Z] @@ -1518,7 +1518,7 @@ switch x {
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <p>Languages extending Xbase might want to contribute to the feature scope. Besides that, one can of course change the whole implementation as it seems fit. There is a special hook, which can be used to add so-called extension methods to existing types.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>Xbase itself comes with a standard library of such extension methods adding support for various operators for the common types, such as <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html">List</a>, etc.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>Xbase itself comes with a standard library of such extension methods adding support for various operators for the common types, such as <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html">List</a>, etc.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <p>These extension methods are declared in separate Java classes. There are various ways how extension methods can be added. In the simplest case the language designer predefines which extension methods are available. Language users cannot add additional library functions using this mechanism.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] diff --git a/documentation/308_emf_integration.html b/documentation/308_emf_integration.html
10:26:54 [2023-06-18T14:26:54.653Z] index a4e3619..fab3d31 100644
10:26:54 [2023-06-18T14:26:54.653Z] --- a/documentation/308_emf_integration.html
10:26:54 [2023-06-18T14:26:54.653Z] +++ b/documentation/308_emf_integration.html
10:26:54 [2023-06-18T14:26:54.653Z] @@ -185,7 +185,7 @@
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <p>The meta-model defines the types of the semantic nodes as Ecore <em>EClasses</em>. EClasses are shown as boxes in the meta-model diagram, so in our example, <em>Model</em>, <em>Type</em>, <em>SimpleType</em>, <em>Entity</em>, and <em>Property</em> are EClasses. An EClass can inherit from other EClasses. Multiple inheritance is allowed in Ecore, but of course cycles are forbidden.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>EClasses can have <em>EAttributes</em> for their simple properties. These are shown inside the EClasses nodes. The example contains two EAttributes <em>name</em> and one EAttribute <em>multi</em>. The domain of values for an EAttribute is defined by its <em>EDataType</em>. Ecore ships with some predefined <em>EDataTypes</em>, which essentially refer to Java primitive types and other immutable classes like <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a>. To make a distinction from the Java types, the <em>EDataTypes</em> are prefixed with an <em>E</em>. In our example, that is <em>EString</em> and <em>EBoolean</em>.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>EClasses can have <em>EAttributes</em> for their simple properties. These are shown inside the EClasses nodes. The example contains two EAttributes <em>name</em> and one EAttribute <em>multi</em>. The domain of values for an EAttribute is defined by its <em>EDataType</em>. Ecore ships with some predefined <em>EDataTypes</em>, which essentially refer to Java primitive types and other immutable classes like <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a>. To make a distinction from the Java types, the <em>EDataTypes</em> are prefixed with an <em>E</em>. In our example, that is <em>EString</em> and <em>EBoolean</em>.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <p>In contrast to EAttributes, <em>EReferences</em> point to other EClasses. The <em>containment</em> flag indicates whether an EReference is a <em>containment reference</em> or a <em>cross-reference</em>. In the diagram, references are edges and containment references are marked with a diamond. At the model level, each element can have at most one container, i.e. another element referring to it with a containment reference. This infers a tree structure to the models, as can be seen in the sample model diagram. On the other hand, <em>cross-references</em> refer to elements that can be contained anywhere else. In the example, <em>elements</em> and <em>properties</em> are containment references, while <em>type</em> and <em>extends</em> are cross-references. For reasons of readability, we skipped the cross-references in the sample model diagram. Note that in contrast to other parser generators, Xtext creates ASTs with linked cross-references.</p>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] diff --git a/documentation/310_eclipse_support.html b/documentation/310_eclipse_support.html
10:26:54 [2023-06-18T14:26:54.653Z] index a89e0d5..ef9d709 100644
10:26:54 [2023-06-18T14:26:54.653Z] --- a/documentation/310_eclipse_support.html
10:26:54 [2023-06-18T14:26:54.653Z] +++ b/documentation/310_eclipse_support.html
10:26:54 [2023-06-18T14:26:54.653Z] @@ -173,13 +173,13 @@
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z]  <h2 id="label-provider">Label Provider</h2>
10:26:54 [2023-06-18T14:26:54.653Z]  
10:26:54 [2023-06-18T14:26:54.653Z] -<p>There are various places in the UI in which model elements have to be presented to the user: In the <a href="#outline">outline view</a>, in <a href="#hyperlinking">hyperlinks</a>, in <a href="#content-assist">content proposals</a>, find dialogs etc. Xtext allows to customize each of these appearances by individual implementation of the <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html">ILabelProvider</a> interface.</p>
10:26:54 [2023-06-18T14:26:54.653Z] +<p>There are various places in the UI in which model elements have to be presented to the user: In the <a href="#outline">outline view</a>, in <a href="#hyperlinking">hyperlinks</a>, in <a href="#content-assist">content proposals</a>, find dialogs etc. Xtext allows to customize each of these appearances by individual implementation of the <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html">ILabelProvider</a> interface.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] -<p>An <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html">ILabelProvider</a> has two methods: <code>getText(Object)</code> returns the text in an objectโ€™s label, while <code>getImage(Object)</code> returns the icon. In addition, the Eclipse UI framework offers the <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.IStyledLabelProvider.html">IStyledLabelProvider</a>, which returns a <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StyledString.html">StyledString</a> (i.e. with custom fonts, colors etc.) in the <code>getStyledText(Object)</code> method.</p>
10:26:54 [2023-06-18T14:26:54.654Z] +<p>An <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html">ILabelProvider</a> has two methods: <code>getText(Object)</code> returns the text in an objectโ€™s label, while <code>getImage(Object)</code> returns the icon. In addition, the Eclipse UI framework offers the <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/DelegatingStyledCellLabelProvider.IStyledLabelProvider.html">IStyledLabelProvider</a>, which returns a <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StyledString.html">StyledString</a> (i.e. with custom fonts, colors etc.) in the <code>getStyledText(Object)</code> method.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <p>Almost all label providers in the Xtext framework inherit from the base class <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/label/AbstractLabelProvider.java">AbstractLabelProvider</a> which unifies both approaches. Subclasses can either return a styled string or a string in the <code>doGetText(Object)</code> method. The framework will automatically convert it to a styled text (with default styles) or to a plain text in the respective methods.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] -<p>Dealing with images can be cumbersome, too, as image handles tend to be scarce system resources. The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/label/AbstractLabelProvider.java">AbstractLabelProvider</a> helps you managing the images: In your implementation of <code>doGetImage(Object)</code> you can as well return an <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Image.html">Image</a>, an <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/resource/ImageDescriptor.html">ImageDescriptor</a> or a string, representing a path in the <em>icons/</em> folder of the containing plug-in. This path is actually configurable by Google Guice. Have a look at the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/PluginImageHelper.java">PluginImageHelper</a> to learn about the customizing possibilities.</p>
10:26:54 [2023-06-18T14:26:54.654Z] +<p>Dealing with images can be cumbersome, too, as image handles tend to be scarce system resources. The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/label/AbstractLabelProvider.java">AbstractLabelProvider</a> helps you managing the images: In your implementation of <code>doGetImage(Object)</code> you can as well return an <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Image.html">Image</a>, an <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/resource/ImageDescriptor.html">ImageDescriptor</a> or a string, representing a path in the <em>icons/</em> folder of the containing plug-in. This path is actually configurable by Google Guice. Have a look at the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/PluginImageHelper.java">PluginImageHelper</a> to learn about the customizing possibilities.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <p>If you have the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/labeling/LabelProviderFragment2.xtend">LabelProviderFragment2</a> in the list of generator fragments in the MWE2 workflow of your language, it will automatically create stubs and bindings for an <a href="#eobject-label-provider"><code>{MyLang}EObjectLabelProvider</code></a> and an <a href="#description-label-provider"><code>{MyLang}DescriptionLabelProvider</code></a> which you can implement manually.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] @@ -207,7 +207,7 @@ public void configureContentProposalLabelProvider(Binder binder) {
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <h4 id="default-eobject-label-provider">DefaultEObjectLabelProvider</h4>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] -<p>The default implementation of the <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html">ILabelProvider</a> interface utilizes the polymorphic dispatcher idiom to implement an external visitor as the requirements of the label provider are kind of a best match for this pattern. It boils down to the fact that the only thing you need to do is to implement a method that matches a specific signature. It either provides an image filename or the text to be used to represent your model element. Have a look at the following example to get a more detailed idea about the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/label/DefaultEObjectLabelProvider.java">DefaultEObjectLabelProvider</a>.</p>
10:26:54 [2023-06-18T14:26:54.654Z] +<p>The default implementation of the <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html">ILabelProvider</a> interface utilizes the polymorphic dispatcher idiom to implement an external visitor as the requirements of the label provider are kind of a best match for this pattern. It boils down to the fact that the only thing you need to do is to implement a method that matches a specific signature. It either provides an image filename or the text to be used to represent your model element. Have a look at the following example to get a more detailed idea about the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/label/DefaultEObjectLabelProvider.java">DefaultEObjectLabelProvider</a>.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <pre><code class="language-java">public class StatemachineLabelProvider 
10:26:54 [2023-06-18T14:26:54.654Z]      extends DefaultLabelProvider {
10:26:54 [2023-06-18T14:26:54.654Z] @@ -299,7 +299,7 @@ public void completeEvent_Code(
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <p>For validations written using the <a href="303_runtime_concepts.html#custom-validation">AbstractDeclarativeValidator</a> it is possible to provide corresponding quick fixes in the editor. To be able to implement a quick fix for a given diagnostic (a warning or error) the underlying <em>cause</em> of the diagnostic must be known (i.e. what actual problem does the diagnostic represent), otherwise the fix doesnโ€™t know what needs to be done. As we donโ€™t want to deduce this from the diagnosticโ€™s error message we associate a problem specific <em>code</em> with the diagnostic.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] -<p>In the following example taken from the <em>DomainmodelValidator</em> the diagnosticโ€™s <em>code</em> is given by the third argument to the <code>warning()</code> method and it is a reference to the static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> field <code>INVALID_TYPE_NAME</code> in the <code>IssueCodes</code> interface.</p>
10:26:54 [2023-06-18T14:26:54.654Z] +<p>In the following example taken from the <em>DomainmodelValidator</em> the diagnosticโ€™s <em>code</em> is given by the third argument to the <code>warning()</code> method and it is a reference to the static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> field <code>INVALID_TYPE_NAME</code> in the <code>IssueCodes</code> interface.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <pre><code class="language-java">warning("Name should start with a capital", 
10:26:54 [2023-06-18T14:26:54.654Z]      DomainmodelPackage.TYPE__NAME, IssueCodes.INVALID_TYPE_NAME, type.getName());
10:26:54 [2023-06-18T14:26:54.654Z] @@ -328,7 +328,7 @@ public void fixTypeName(Issue issue, IssueResolutionAcceptor acceptor) {
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <p>The first three parameters given to the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/quickfix/IssueResolutionAcceptor.java">IssueResolutionAcceptor</a> define the UI representation of the quick fix. As the document is not necessarily loaded when the quick fix is offered, we need to provide any additional data from the model that we want to refer to in the UI when creating the issue in the validator above. In this case, we provided the existing type name. The additional data is available as <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/validation/Issue.java">Issue.getData()</a>. As it is persisted in markers, only strings are allowed.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] -<p>The actual model modification is implemented in the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/model/edit/IModification.java">IModification</a>. The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/model/edit/IModificationContext.java">IModificationContext</a> provides access to the erroneous document. In this case, weโ€™re using Eclipseโ€™s <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/IDocument.html">IDocument</a> API to replace a text region.</p>
10:26:54 [2023-06-18T14:26:54.654Z] +<p>The actual model modification is implemented in the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/model/edit/IModification.java">IModification</a>. The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/model/edit/IModificationContext.java">IModificationContext</a> provides access to the erroneous document. In this case, weโ€™re using Eclipseโ€™s <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/IDocument.html">IDocument</a> API to replace a text region.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <p>If you prefer to implement the quick fix in terms of the semantic model use an <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/model/edit/ISemanticModification.java">ISemanticModification</a> instead. Its <code>apply(EObject, IModificationContext)</code> method will be invoked inside a modify-transaction and the first argument will be the erroneous semantic element. This makes it very easy for the fix method to modify the model as necessary. After the method returns the model as well as the Xtext editorโ€™s content will be updated accordingly. If the method fails (throws an exception) the change will not be committed. The following snippet shows a semantic quick fix for a similar problem.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] @@ -410,7 +410,7 @@ public void createReferenceType(Issue issue, IssueResolutionAcceptor acceptor) {
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <p>If you donโ€™t like these defaults youโ€™ll have to subclass <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/templates/XtextTemplateContextTypeRegistry.java">XtextTemplateContextTypeRegistry</a> and configure it via <a href="302_configuration.html#guicemodules">Guice</a>.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] -<p>In addition to the standard template proposal extension mechanism, Xtext ships with a predefined set of <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/templates/TemplateVariableResolver.html">TemplateVariableResolvers</a> to resolve special variable types in templates. Besides the standard template variables available in <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/templates/GlobalTemplateVariables.html">GlobalTemplateVariables</a> like <code>${user}</code>, <code>${date}</code>, <code>${time}</code>, <code>${cursor}</code>, etc., these <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/templates/TemplateVariableResolver.html">TemplateVariableResolvers</a> support the automatic resolution of cross references enumeration values. Both resolvers are explained in the following sections.</p>
10:26:54 [2023-06-18T14:26:54.654Z] +<p>In addition to the standard template proposal extension mechanism, Xtext ships with a predefined set of <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/templates/TemplateVariableResolver.html">TemplateVariableResolvers</a> to resolve special variable types in templates. Besides the standard template variables available in <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/templates/GlobalTemplateVariables.html">GlobalTemplateVariables</a> like <code>${user}</code>, <code>${date}</code>, <code>${time}</code>, <code>${cursor}</code>, etc., these <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/templates/TemplateVariableResolver.html">TemplateVariableResolvers</a> support the automatic resolution of cross references enumeration values. Both resolvers are explained in the following sections.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z]  <p>It is best practice to edit the templates in the preferences page, export them into the <em>templates.xml</em> file and put the file into the <em>templates</em> folder of your UI-plug-in. However, these templates will not be visible by default. To fix it, you have to manually edit the xml-file and insert an <code>id</code> attribute for each template element. Note that the attribute name is case sensitive. As always in Eclipse Plug-In development, if the folder <em>templates</em> did not exist before, you have to add it to the <em>bin.includes</em> in the <em>build.properties</em> file.</p>
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.654Z] @@ -529,7 +529,7 @@ protected boolean _isLeaf(Feature feature) {
10:26:54 [2023-06-18T14:26:54.654Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <p>You can also customize the icons and texts for an outline node. By default, Xtext uses the <a href="#label-provider">label provider</a> of your language. If you want the labels to be specific to the outline, you can override the methods <code>_text(modelElement)</code>ย and <code>_image(modelElement)</code> in your <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/outline/impl/DefaultOutlineTreeProvider.java">DefaultOutlineTreeProvider</a>.</p>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z] -<p>Note that the method <code>_text(modelElement)</code> can return a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> or a <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StyledString.html">StyledString</a>. The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/label/StylerFactory.java">StylerFactory</a> can be used to create <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StyledString.html">StyledStrings</a>, like in the following example:</p>
10:26:54 [2023-06-18T14:26:54.655Z] +<p>Note that the method <code>_text(modelElement)</code> can return a <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> or a <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StyledString.html">StyledString</a>. The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/label/StylerFactory.java">StylerFactory</a> can be used to create <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StyledString.html">StyledStrings</a>, like in the following example:</p>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <pre><code class="language-java">@Inject 
10:26:54 [2023-06-18T14:26:54.655Z]  private StylerFactory stylerFactory;
10:26:54 [2023-06-18T14:26:54.655Z] @@ -795,7 +795,7 @@ public Class&lt;? extends IComparator&gt;
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <h3 id="lexical-highlighting">Lexical Highlighting</h3>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z] -<p>The lexical highlighting can be customized by providing implementations of the interface <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/IHighlightingConfiguration.java">IHighlightingConfiguration</a> and the abstract class <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/AbstractTokenScanner.java">AbstractTokenScanner</a>. The latter fulfills the interface <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/rules/ITokenScanner.html">ITokenScanner</a> from the underlying JFace framework, which may be implemented by clients directly.</p>
10:26:54 [2023-06-18T14:26:54.655Z] +<p>The lexical highlighting can be customized by providing implementations of the interface <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/IHighlightingConfiguration.java">IHighlightingConfiguration</a> and the abstract class <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/AbstractTokenScanner.java">AbstractTokenScanner</a>. The latter fulfills the interface <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/rules/ITokenScanner.html">ITokenScanner</a> from the underlying JFace framework, which may be implemented by clients directly.</p>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <p>The <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/IHighlightingConfiguration.java">IHighlightingConfiguration</a> is used to register any default style without a specific binding to a pattern in the model file. It is used to populate the preferences page and to initialize the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/ITextAttributeProvider.java">ITextAttributeProvider</a>, which in turn is the component that is used to obtain the actual settings for a styleโ€™s id. An implementation will usually be very similar to the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/DefaultHighlightingConfiguration.java">DefaultHighlightingConfiguration</a> and read like this:</p>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z] @@ -820,7 +820,7 @@ public Class&lt;? extends IComparator&gt;
10:26:54 [2023-06-18T14:26:54.655Z]  }
10:26:54 [2023-06-18T14:26:54.655Z]  </code></pre>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z] -<p>Implementations of the <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/rules/ITokenScanner.html">ITokenScanner</a> are responsible for splitting the content of a document into various parts, the so called tokens, and return the highlighting information for each identified range. It is critical that this is done very fast because this component is used on each keystroke. Xtext ships with a default implementation that is based on the lexer that is generated by ANTLR which is very lightweight and fast. This default implementation can be customized by clients easily. They simply have to bind another implementation of the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/AbstractAntlrTokenToAttributeIdMapper.java">AbstractAntlrTokenToAttributeIdMapper</a>. To get an idea about it, have a look at the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/DefaultAntlrTokenToAttributeIdMapper.java">DefaultAntlrTokenToAttributeIdMapper</a>.</p>
10:26:54 [2023-06-18T14:26:54.655Z] +<p>Implementations of the <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/rules/ITokenScanner.html">ITokenScanner</a> are responsible for splitting the content of a document into various parts, the so called tokens, and return the highlighting information for each identified range. It is critical that this is done very fast because this component is used on each keystroke. Xtext ships with a default implementation that is based on the lexer that is generated by ANTLR which is very lightweight and fast. This default implementation can be customized by clients easily. They simply have to bind another implementation of the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/AbstractAntlrTokenToAttributeIdMapper.java">AbstractAntlrTokenToAttributeIdMapper</a>. To get an idea about it, have a look at the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/editor/syntaxcoloring/DefaultAntlrTokenToAttributeIdMapper.java">DefaultAntlrTokenToAttributeIdMapper</a>.</p>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <h3 id="semantic-highlighting">Semantic Highlighting</h3>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z] @@ -898,7 +898,7 @@ fragment = refactoring.RefactorElementNameFragment2 {}
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <ul>
10:26:54 [2023-06-18T14:26:54.655Z]    <li>Apply and revert the declaration change on the semantic model (methods <code>applyDeclarationChange</code> and <code>revertDeclarationChange</code>). The default is to look for an <a href="https://git.eclipse.org/r/plugins/gitiles/emf/org.eclipse.emf/+/refs/tags/R2_20_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EAttribute.java">EAttribute</a> <code>name</code> on the target object and set its value using EMFs reflective API.</li>
10:26:54 [2023-06-18T14:26:54.655Z] -  <li>Create the LTK <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ltk/core/refactoring/Change.html">Change</a> objects of the declaration change. These changes will be aggregated, checked for overlaps, presented to you in the preview and finally executed if you apply the refactoring. The default is to use the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/ILocationInFileProvider.java">ILocationInFileProvider</a> to locate the text range representing the name and create a <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/text/edits/ReplaceEdit.html">ReplaceEdit</a> for it.</li>
10:26:54 [2023-06-18T14:26:54.655Z] +  <li>Create the LTK <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ltk/core/refactoring/Change.html">Change</a> objects of the declaration change. These changes will be aggregated, checked for overlaps, presented to you in the preview and finally executed if you apply the refactoring. The default is to use the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext/src/org/eclipse/xtext/resource/ILocationInFileProvider.java">ILocationInFileProvider</a> to locate the text range representing the name and create a <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/text/edits/ReplaceEdit.html">ReplaceEdit</a> for it.</li>
10:26:54 [2023-06-18T14:26:54.655Z]  </ul>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <p>As the <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/refactoring/IRenameStrategy.java">IRenameStrategy</a> is a stateful object, you have to bind a custom <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/refactoring/IRenameStrategy.java">Provider</a> to create it.</p>
10:26:54 [2023-06-18T14:26:54.655Z] @@ -907,7 +907,7 @@ fragment = refactoring.RefactorElementNameFragment2 {}
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z]  <h3 id="rename-participants">Rename Participants</h3>
10:26:54 [2023-06-18T14:26:54.655Z]  
10:26:54 [2023-06-18T14:26:54.655Z] -<p>One refactoring can trigger another: When renaming a rule in an Xtext grammar, the returned <a href="https://git.eclipse.org/r/plugins/gitiles/emf/org.eclipse.emf/+/refs/tags/R2_20_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java">EClass</a> should be renamed, too. For these cases, you can register a <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ltk/core/refactoring/participants/RenameParticipant.html">RenameParticipant</a> by the common means of LTK. If the target of the participant is Xtext based, you can use a <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/refactoring/impl/AbstractProcessorBasedRenameParticipant.java">AbstractProcessorBasedRenameParticipant</a>.</p>
10:26:54 [2023-06-18T14:26:54.681Z] +<p>One refactoring can trigger another: When renaming a rule in an Xtext grammar, the returned <a href="https://git.eclipse.org/r/plugins/gitiles/emf/org.eclipse.emf/+/refs/tags/R2_20_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java">EClass</a> should be renamed, too. For these cases, you can register a <a href="https://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ltk/core/refactoring/participants/RenameParticipant.html">RenameParticipant</a> by the common means of LTK. If the target of the participant is Xtext based, you can use a <a href="https://github.com/eclipse/xtext/blob/main/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/refactoring/impl/AbstractProcessorBasedRenameParticipant.java">AbstractProcessorBasedRenameParticipant</a>.</p>
10:26:54 [2023-06-18T14:26:54.681Z]  
10:26:54 [2023-06-18T14:26:54.681Z]  <h2 id="projectwizard">Project Wizard</h2>
10:26:54 [2023-06-18T14:26:54.681Z]  
10:26:54 [2023-06-18T14:26:54.681Z] diff --git a/feed.xml b/feed.xml
10:26:54 [2023-06-18T14:26:54.681Z] index c95b3aa..f504cbf 100644
10:26:54 [2023-06-18T14:26:54.681Z] --- a/feed.xml
10:26:54 [2023-06-18T14:26:54.681Z] +++ b/feed.xml
10:26:54 [2023-06-18T14:26:54.681Z] @@ -4,10 +4,10 @@
10:26:54 [2023-06-18T14:26:54.681Z]      <title>Xtext - Language Engineering Framework</title>
10:26:54 [2023-06-18T14:26:54.681Z]      <description>Xtext is a framework for development of programming languages and domain specific languages. It covers all  aspects of a complete language infrastructure, from parsers, over linker, compiler or interpreter to fully-blown  top-notch Eclipse IDE integration. It comes with great defaults for all these aspects which at the same time can  be easily tailored to your individual needs.
10:26:54 [2023-06-18T14:26:54.681Z]  </description>
10:26:54 [2023-06-18T14:26:54.681Z] -    <link>http://xtext.org/Xtext/</link>
10:26:54 [2023-06-18T14:26:54.681Z] -    <atom:link href="http://xtext.org/Xtext/feed.xml" rel="self" type="application/rss+xml"/>
10:26:54 [2023-06-18T14:26:54.681Z] -    <pubDate>Sun, 11 Jun 2023 11:01:20 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.681Z] -    <lastBuildDate>Sun, 11 Jun 2023 11:01:20 +0000</lastBuildDate>
10:26:54 [2023-06-18T14:26:54.681Z] +    <link>https://eclipse.dev/Xtext/</link>
10:26:54 [2023-06-18T14:26:54.681Z] +    <atom:link href="https://eclipse.dev/Xtext/feed.xml" rel="self" type="application/rss+xml"/>
10:26:54 [2023-06-18T14:26:54.681Z] +    <pubDate>Sun, 18 Jun 2023 14:26:39 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.681Z] +    <lastBuildDate>Sun, 18 Jun 2023 14:26:39 +0000</lastBuildDate>
10:26:54 [2023-06-18T14:26:54.681Z]      <generator>Jekyll v2.5.3</generator>
10:26:54 [2023-06-18T14:26:54.681Z]      
10:26:54 [2023-06-18T14:26:54.681Z]        <item>
10:26:54 [2023-06-18T14:26:54.681Z] @@ -67,8 +67,8 @@
10:26:54 [2023-06-18T14:26:54.681Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.681Z]  </description>
10:26:54 [2023-06-18T14:26:54.681Z]          <pubDate>Mon, 29 May 2023 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.681Z] -        <link>http://xtext.org/Xtext/releasenotes/2023/05/29/version-2-31-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2023/05/29/version-2-31-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2023/05/29/version-2-31-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2023/05/29/version-2-31-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -128,8 +128,8 @@ Elie Richa (AdaCore)&lt;/p&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Mon, 27 Feb 2023 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2023/02/27/version-2-30-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2023/02/27/version-2-30-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2023/02/27/version-2-30-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2023/02/27/version-2-30-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -218,8 +218,8 @@ Elie Richa (AdaCore)&lt;/p&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Mon, 21 Nov 2022 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2022/11/21/version-2-29-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2022/11/21/version-2-29-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2022/11/21/version-2-29-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2022/11/21/version-2-29-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -281,8 +281,8 @@ Hannes Wellmann (IILS mbH) &lt;img src=&quot;https://img.shields.io/badge/-first
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Mon, 29 Aug 2022 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2022/08/29/version-2-28-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2022/08/29/version-2-28-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2022/08/29/version-2-28-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2022/08/29/version-2-28-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -358,8 +358,8 @@ Hannes Wellmann (IILS mbH) &lt;img src=&quot;https://img.shields.io/badge/-first
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Mon, 30 May 2022 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2022/05/30/version-2-27-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2022/05/30/version-2-27-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2022/05/30/version-2-27-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2022/05/30/version-2-27-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -443,8 +443,8 @@ Oliver Libutzki (independent) &lt;img src=&quot;https://img.shields.io/badge/-fi
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Mon, 28 Feb 2022 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2022/02/28/version-2-26-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2022/02/28/version-2-26-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2022/02/28/version-2-26-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2022/02/28/version-2-26-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -520,8 +520,8 @@ Oliver Libutzki (independent) &lt;img src=&quot;https://img.shields.io/badge/-fi
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Tue, 02 Mar 2021 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2021/03/02/version-2-25-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2021/03/02/version-2-25-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2021/03/02/version-2-25-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2021/03/02/version-2-25-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -608,8 +608,8 @@ Oliver Libutzki (independent) &lt;img src=&quot;https://img.shields.io/badge/-fi
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Tue, 01 Dec 2020 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2020/12/01/version-2-24-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2020/12/01/version-2-24-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2020/12/01/version-2-24-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2020/12/01/version-2-24-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -716,8 +716,8 @@ Oliver Libutzki (independent) &lt;img src=&quot;https://img.shields.io/badge/-fi
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Tue, 01 Sep 2020 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2020/09/01/version-2-23-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2020/09/01/version-2-23-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2020/09/01/version-2-23-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2020/09/01/version-2-23-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] @@ -810,8 +810,8 @@ Oliver Libutzki (independent) &lt;img src=&quot;https://img.shields.io/badge/-fi
10:26:54 [2023-06-18T14:26:54.682Z]  &lt;/ul&gt;
10:26:54 [2023-06-18T14:26:54.682Z]  </description>
10:26:54 [2023-06-18T14:26:54.682Z]          <pubDate>Tue, 02 Jun 2020 00:00:00 +0000</pubDate>
10:26:54 [2023-06-18T14:26:54.682Z] -        <link>http://xtext.org/Xtext/releasenotes/2020/06/02/version-2-22-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] -        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2020/06/02/version-2-22-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z] +        <link>https://eclipse.dev/Xtext/releasenotes/2020/06/02/version-2-22-0.html</link>
10:26:54 [2023-06-18T14:26:54.682Z] +        <guid isPermaLink="true">https://eclipse.dev/Xtext/releasenotes/2020/06/02/version-2-22-0.html</guid>
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          
10:26:54 [2023-06-18T14:26:54.682Z]          <category>releasenotes</category>
10:26:54 [2023-06-18T14:26:54.682Z] diff --git a/releasenotes/2015/03/11/version-2-8-0.html b/releasenotes/2015/03/11/version-2-8-0.html
10:26:54 [2023-06-18T14:26:54.682Z] index 58eec15..9f0c9f5 100644
10:26:54 [2023-06-18T14:26:54.682Z] --- a/releasenotes/2015/03/11/version-2-8-0.html
10:26:54 [2023-06-18T14:26:54.682Z] +++ b/releasenotes/2015/03/11/version-2-8-0.html
10:26:54 [2023-06-18T14:26:54.682Z] @@ -241,7 +241,7 @@ Workflow {
10:26:54 [2023-06-18T14:26:54.682Z]  
10:26:54 [2023-06-18T14:26:54.682Z]  <h3 id="java-7">Java 7</h3>
10:26:54 [2023-06-18T14:26:54.682Z]  
10:26:54 [2023-06-18T14:26:54.682Z] -<p>Xbase expressions like <code>switch (obj) { ... }</code> where <code>obj</code> is of type <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> are translated to Java <code>switch</code> statements (see <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/language/strings-switch.html">Strings in switch Statements</a>).</p>
10:26:54 [2023-06-18T14:26:54.682Z] +<p>Xbase expressions like <code>switch (obj) { ... }</code> where <code>obj</code> is of type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</a> are translated to Java <code>switch</code> statements (see <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/language/strings-switch.html">Strings in switch Statements</a>).</p>
10:26:54 [2023-06-18T14:26:54.682Z]  
10:26:54 [2023-06-18T14:26:54.683Z]  <p>In Xbase you can write number literals in the form <code>2_147_483_647</code> to enhance their readability. This is also <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/language/underscores-literals.html">supported by Java 7</a>. When the Xbase compiler is set to at least Java 7, underscores in number literals are retained in the generated code.</p>
10:26:54 [2023-06-18T14:26:54.683Z]  
10:26:55 [2023-06-18T14:26:55.553Z] + git add --all :/
10:26:57 [2023-06-18T14:26:57.577Z] + git commit -m 'Generated from commit: https://github.com/eclipse/xtext/commit/b0d67a8b7116ce9dcf2d342d51dbcbd5f47c49f9'
10:26:57 [2023-06-18T14:26:57.577Z] [master 8624ebd] Generated from commit: https://github.com/eclipse/xtext/commit/b0d67a8b7116ce9dcf2d342d51dbcbd5f47c49f9
10:26:57 [2023-06-18T14:26:57.577Z]  229 files changed, 25427 insertions(+), 61 deletions(-)
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/community.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/bootstrap-responsive.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/bootstrap.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/fonts.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/fonts/lato/v6/LqowQDslGv4DmUBAfWa2Vw.ttf
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/fonts/lato/v6/VNUH7ZAcagYBWsAiBBCEY6CWcynf_cDxXwCLxiixG1c.ttf
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/fonts/lato/v6/v0SdcGFAl2aezM9Vq_aFTQ.ttf
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/fonts/vollkorn/v3/BCFBp4rt5gxxFrX6F12DKnYhjbSpvc47ee6xR_80Hnw.woff
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/fonts/vollkorn/v3/Oiz0tNwvC-Nd29SBQWfWTL3hpw3pgy2gAi-Ip7WPMi0.woff
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/iebugs.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/prettify.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/prettyPhoto.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/shield-responsive.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/css/style.css
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/101_gettingstarted.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/102_moviesexample.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/201_types.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/202_xtend_classes_members.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/203_xtend_expressions.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/204_activeannotations.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/Xtend-Logo.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/Xtend_and_Java.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/Xtend_template_coloring.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/configure-compiler-in-eclipse.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/getting-started-editor.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/getting-started-project-layout.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/getting-started-wizard.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/images/pdf_icon.gif
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/documentation/index.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/download.html
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/feed.xml
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/Java_Duke_learning.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/Twitter-bird-darkgray.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/Twitter-bird-white.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/android_logo.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/bug-white.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/bullet-checkmark.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/bullet-circles.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/bullet-plus.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/configure-compiler-in-eclipse.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/discussion-white.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/div-grey-top.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/documentation.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/download.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/eclipse_logo.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/eclipse_logo.svg
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/favicon.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/github-mark-white.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/glyphicons-halflings-white.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/glyphicons-halflings.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/gwt-logo.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/header_background.jpg
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/icon_top.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/intro_thumb.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/java-perspective.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/java8_logo.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/javafx_logo.jpg
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/logo.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/menu_new_xtend_class.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/mwe2/assignment.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/mwe2/component.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/mwe2/module.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/mwe2/property.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/new_class_wizard.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/noise.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/pattern1.jpg
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/pdf_icon.gif
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_rounded/btnNext.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_rounded/btnPrevious.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_rounded/contentPattern.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_rounded/default_thumbnail.gif
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_rounded/loader.gif
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_rounded/sprite.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_square/btnNext.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_square/btnPrevious.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_square/contentPattern.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_square/default_thumbnail.gif
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_square/loader.gif
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100755 xtend/images/prettyPhoto/dark_square/sprite.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/prettyPhoto/default/default_thumb.png
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/prettyPhoto/default/loader.gif
10:26:57 [2023-06-18T14:26:57.577Z]  create mode 100644 xtend/images/prettyPhoto/default/sprite.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/prettyPhoto/default/sprite_next.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/prettyPhoto/default/sprite_prev.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/prettyPhoto/default/sprite_x.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/prettyPhoto/default/sprite_y.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/btnNext.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/btnPrevious.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/contentPatternBottom.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/contentPatternLeft.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/contentPatternRight.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/contentPatternTop.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/default_thumbnail.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/loader.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/facebook/sprite.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_rounded/btnNext.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_rounded/btnPrevious.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_rounded/default_thumbnail.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_rounded/loader.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_rounded/sprite.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_square/btnNext.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_square/btnPrevious.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_square/default_thumbnail.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_square/loader.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100755 xtend/images/prettyPhoto/light_square/sprite.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/quotes/debasishGhosh.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/quotes/edMerks.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/quotes/marioLovis.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/quotes/samanthaChan.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_11_xbase-compare-null-gen.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_11_xbase-compare-null-quickfix.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_11_xbase-switch-nullguard.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_11_xtend-new-main-class.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_14_0_xtend-multi-catch-new.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_14_0_xtend-multi-type-guard-new.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_14_unnecessary_modifier.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_15_junit_quickfix.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_15_xtext_core.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_15_xtext_core_fast.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_16_hover_javadoc_link.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_17_Xtend-quickfix-add-abstract-modifier-bc-classname.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_17_Xtend-quickfix-remove-unused-member.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_17_Xtend-static-favorites_1.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_17_Xtend-static-favorites_2.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_17_Xtend-static-favorites_3.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_18_Quickfix_RenameClass.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_20_quickfix_add_junit4_classpath.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_20_quickfix_add_junit5_classpath.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_20_refactoring_import_static_method.gif
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_23_xtend-quickfix-after0.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_23_xtend-quickfix-before0.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_6_0_annotations_in_hover.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_6_0_debug_hover_variable.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_6_0_open_implementation.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_6_0_task_markers.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_6_0_validation-empty-parenthesis.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_6_0_validation-explicit-return-declaration.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_6_0_validation-explicit-return.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtend-conditional-breakpoint.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtend-dead-code-analysis.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtend-open-return-type.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtend-organize-imports.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtend-outline-jvm.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtend-outline-normal.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtend-templates-import.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_7_xtext-breakpoint-toggle.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_8_java-convert-to-xtend.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_8_open-inferred-type.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_8_xbase-java-version.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_8_xbase-open-generated.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_9_0_intellij_editor.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/2_9_0_intellij_new_xtend_type.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/content_assist.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/copy_qualified_name.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/extract_local_variable.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/extract_method_refactoring.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/follow_up_errors.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/formatter.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/formatter_preferences.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/issue_severities.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/javadoc_content_assist.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/organize_imports.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/releasenotes/quickfixes.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/run_as_java_application.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/screenshot-installation.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/search-gray.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/slides/7languages.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/slides/Introduction.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/slides/draw.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/slides/iphone.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/slides/light.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/videoOverlay.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/videoOverlayBig.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/images/xtend_lib_missing_error.png
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/index.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/js/bootstrap.min.js
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/js/custom.js
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/js/jquery-1.7.1.min.js
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/js/jquery.easing.1.3.js
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/js/jquery.prettyPhoto.js
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/js/lang-xtend.js
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/js/prettify.js
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news/2014/02/04/Xtend-2-5-1.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news/2014/05/22/Xtend-2-6-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news/2014/09/03/Xtend-2-7-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news/2014/11/20/Xtend-2-7-3.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news/2015/03/11/Xtend-2-8-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news/2015/10/02/Xtend-Intellij-IDEA-Preview.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/news/2015/12/01/Xtend-2-9-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2013/09/04/version-2-4-3.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2013/12/11/version-2-5-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2014/05/21/version-2-6-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2014/09/02/version-2-7-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2015/03/11/version-2-8-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2015/12/01/version-2-9-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2017/02/01/version-2-11-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2017/10/20/version-2-13-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2018/05/23/version-2-14-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2018/09/04/version-2-15-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2018/12/04/version-2-16-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2019/03/05/version-2-17-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2019/04/03/version-2-17-1.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2019/06/04/version-2-18-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2019/09/03/version-2-19-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2019/12/03/version-2-20-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2020/03/03/version-2-21-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2020/06/02/version-2-22-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2020/09/01/version-2-23-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2020/12/01/version-2-24-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2021/03/02/version-2-25-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2022/02/28/version-2-26-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2022/05/30/version-2-27-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2022/08/29/version-2-28-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2022/11/21/version-2-29-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2023/02/27/version-2-30-0.html
10:26:57 [2023-06-18T14:26:57.578Z]  create mode 100644 xtend/releasenotes/2023/05/29/version-2-31-0.html
10:26:57 [2023-06-18T14:26:57.578Z] + git status
10:26:57 [2023-06-18T14:26:57.578Z] On branch master
10:26:57 [2023-06-18T14:26:57.578Z] Your branch is ahead of 'origin/master' by 1 commit.
10:26:57 [2023-06-18T14:26:57.578Z]   (use "git push" to publish your local commits)
10:26:57 [2023-06-18T14:26:57.578Z] 
10:26:57 [2023-06-18T14:26:57.578Z] nothing to commit, working tree clean
10:26:57 [2023-06-18T14:26:57.843Z] [Pipeline] }
10:26:58 [2023-06-18T14:26:58.098Z] [Pipeline] // dir
10:26:58 [2023-06-18T14:26:58.490Z] [Pipeline] }
10:26:58 [2023-06-18T14:26:58.761Z] [Pipeline] // stage
10:26:59 [2023-06-18T14:26:59.511Z] [Pipeline] stage
10:26:59 [2023-06-18T14:26:59.511Z] [Pipeline] { (Deploy)
10:27:05 [2023-06-18T14:27:05.142Z] [Pipeline] echo
10:27:05 [2023-06-18T14:27:05.144Z] Deploying....
10:27:05 [2023-06-18T14:27:05.144Z] [Pipeline] dir
10:27:05 [2023-06-18T14:27:05.145Z] Running in /home/jenkins/agent/workspace/releng/website-deploy-experiments/deploy-xtext-git-repo
10:27:05 [2023-06-18T14:27:05.146Z] [Pipeline] {
10:27:05 [2023-06-18T14:27:05.923Z] [Pipeline] sshagent
10:27:05 [2023-06-18T14:27:05.930Z] [ssh-agent] Using credentials genie-xtext (GitHub bot (SSH))
10:27:05 [2023-06-18T14:27:05.930Z] [ssh-agent] Looking for ssh-agent implementation...
10:27:05 [2023-06-18T14:27:05.945Z] [ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
10:27:05 [2023-06-18T14:27:05.945Z] $ ssh-agent
10:27:05 [2023-06-18T14:27:05.959Z] SSH_AUTH_SOCK=/tmp/ssh-qaiNoSrrze5J/agent.211
10:27:05 [2023-06-18T14:27:05.959Z] SSH_AGENT_PID=213
10:27:06 [2023-06-18T14:27:06.051Z] Running ssh-add (command line suppressed)
10:27:06 [2023-06-18T14:27:06.148Z] Identity added: /home/jenkins/agent/workspace/releng/website-deploy-experiments/deploy-xtext-git-repo@tmp/private_key_650073331139323640.key (/home/jenkins/agent/workspace/releng/website-deploy-experiments/deploy-xtext-git-repo@tmp/private_key_650073331139323640.key)
10:27:06 [2023-06-18T14:27:06.246Z] [ssh-agent] Started.
10:27:06 [2023-06-18T14:27:06.247Z] [Pipeline] {
10:27:06 [2023-06-18T14:27:06.883Z] [Pipeline] sh
10:27:07 [2023-06-18T14:27:07.154Z] + git push origin master
10:27:11 [2023-06-18T14:27:11.605Z] To github.com:eclipse/xtext-website-publish.git
10:27:11 [2023-06-18T14:27:11.605Z]    f0a0bc2..8624ebd  master -> master
10:27:11 [2023-06-18T14:27:11.870Z] [Pipeline] }
10:27:11 [2023-06-18T14:27:11.872Z] $ ssh-agent -k
10:27:11 [2023-06-18T14:27:11.877Z] unset SSH_AUTH_SOCK;
10:27:11 [2023-06-18T14:27:11.877Z] unset SSH_AGENT_PID;
10:27:11 [2023-06-18T14:27:11.877Z] echo Agent pid 213 killed;
10:27:11 [2023-06-18T14:27:11.885Z] [ssh-agent] Stopped.
10:27:12 [2023-06-18T14:27:12.143Z] [Pipeline] // sshagent
10:27:21 [2023-06-18T14:27:21.234Z] [Pipeline] }
10:27:21 [2023-06-18T14:27:21.491Z] [Pipeline] // dir
10:27:22 [2023-06-18T14:27:22.018Z] [Pipeline] }
10:27:22 [2023-06-18T14:27:22.373Z] [Pipeline] // stage
10:27:22 [2023-06-18T14:27:22.880Z] [Pipeline] }
10:27:23 [2023-06-18T14:27:23.132Z] [Pipeline] // timeout
10:27:23 [2023-06-18T14:27:23.516Z] [Pipeline] }
10:27:23 [2023-06-18T14:27:23.935Z] [Pipeline] // withEnv
10:27:24 [2023-06-18T14:27:24.330Z] [Pipeline] }
10:27:24 [2023-06-18T14:27:24.590Z] [Pipeline] // node
10:27:24 [2023-06-18T14:27:24.975Z] [Pipeline] }
10:27:25 [2023-06-18T14:27:25.375Z] [Pipeline] // podTemplate
10:27:25 [2023-06-18T14:27:25.790Z] [Pipeline] End of Pipeline
10:27:25 [2023-06-18T14:27:25.944Z] Finished: SUCCESS