Unverified Commit a7dddb83 authored by Lukas Jungmann's avatar Lukas Jungmann Committed by GitHub
Browse files

#101: boilerplate spec (#103)


*  #101: boilerplate spec
Signed-off-by: default avatarLukas Jungmann <lukas.jungmann@oracle.com>
parent a7c3179a
/target/
/jaxb-api/target/
/jaxb-api-test/target/
target/
Copyright (c) 2018, 2019 Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of the Eclipse Foundation, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Jakarta XML Binding Specification
============================
This project generates the Jakarta XML Binding Specification.
Building
--------
Prerequisites:
* JDK8+
* Maven 3.0.3+
Run the full build:
`mvn install`
Locate the html files:
- `target/generated-docs/jakarta.xml.bind-spec-<version>.html`
Locate the PDF files:
- `target/generated-docs/jakarta.xml.bind-spec-<version>.pdf`
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2018, 2019 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Distribution License v. 1.0, which is available at
http://www.eclipse.org/org/documents/edl-v10.php.
SPDX-License-Identifier: BSD-3-Clause
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.eclipse.ee4j</groupId>
<artifactId>project</artifactId>
<version>1.0.5</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-spec</artifactId>
<packaging>pom</packaging>
<version>2.3.2-SNAPSHOT</version>
<name>Jakarta XML Binding Specification</name>
<properties>
<site.output.dir>${project.build.directory}/staging</site.output.dir>
<maven.site.skip>true</maven.site.skip>
<asciidoctor.maven.plugin.version>1.5.7.1</asciidoctor.maven.plugin.version>
<asciidoctorj.version>1.6.2</asciidoctorj.version>
<asciidoctorj.pdf.version>1.5.0-alpha.16</asciidoctorj.pdf.version>
<jruby.version>9.2.6.0</jruby.version>
<!-- status: DRAFT, BETA, etc., or blank for final -->
<status>DRAFT</status>
<maven.build.timestamp.format>MMMM dd, yyyy</maven.build.timestamp.format>
<revisiondate>${maven.build.timestamp}</revisiondate>
</properties>
<scm>
<connection>scm:git:git://github.com/eclipse-ee4j/jaxb-api.git</connection>
<developerConnection>scm:git:git@github.com:eclipse-ee4j/jaxb-api.git</developerConnection>
<url>https://github.com/eclipse-ee4j/jaxb-api.git</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<site>
<url>scm:git:git@github.com:eclipse-ee4j/jaxb-api.git</url>
</site>
</distributionManagement>
<build>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>(,1.9),[11,)</version>
<message>You need JDK8 or lower</message>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${asciidoctor.maven.plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
<version>${jruby.version}</version>
</dependency>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj</artifactId>
<version>${asciidoctorj.version}</version>
</dependency>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-pdf</artifactId>
<version>${asciidoctorj.pdf.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>asciidoc-to-html</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<backend>html5</backend>
<outputFile>${project.build.directory}/generated-docs/jakarta.xml.bind-spec-${project.version}.html</outputFile>
<attributes>
<doctype>book</doctype>
<status>${status}</status>
<data-uri />
<icons>font</icons>
<toc>left</toc>
<icons>font</icons>
<sectanchors>true</sectanchors>
<idprefix />
<idseparator>-</idseparator>
<docinfo1>true</docinfo1>
</attributes>
</configuration>
</execution>
<execution>
<id>asciidoc-to-pdf</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<backend>pdf</backend>
<outputFile>${project.build.directory}/generated-docs/jakarta.xml.bind-spec-${project.version}.pdf</outputFile>
<attributes>
<pdf-stylesdir>${project.basedir}/src/theme</pdf-stylesdir>
<pdf-style>jakartaee</pdf-style>
<doctype>book</doctype>
<status>${status}</status>
<data-uri />
<icons>font</icons>
<pagenums />
<toc />
<icons>font</icons>
<sectanchors>true</sectanchors>
<idprefix />
<idseparator>-</idseparator>
<docinfo1>true</docinfo1>
<embedAssets>true</embedAssets>
</attributes>
</configuration>
</execution>
</executions>
<configuration>
<sourceDocumentName>jakarta.xml.bind-spec.adoc</sourceDocumentName>
<sourceHighlighter>coderay</sourceHighlighter>
<attributes>
<revnumber>${project.version}</revnumber>
<revremark>${status}</revremark>
<revdate>${revisiondate}</revdate>
</attributes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<mavenExecutorId>forked-path</mavenExecutorId>
<useReleaseProfile>false</useReleaseProfile>
<arguments>${release.arguments}</arguments>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
</plugin>
<!--
This is the rule that builds the zip file for download.
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${project.basedir}/src/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
Copyright (c) 2018, 2019 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Distribution License v. 1.0, which is available at
http://www.eclipse.org/org/documents/edl-v10.php.
SPDX-License-Identifier: BSD-3-Clause
-->
<assembly>
<id>spec</id>
<formats>
<format>zip</format>
</formats>
<baseDirectory>jakarta.xml.bind-spec</baseDirectory>
<fileSets>
<fileSet>
<directory>target/generated-docs</directory>
<outputDirectory></outputDirectory>
</fileSet>
</fileSets>
</assembly>
//
// Copyright (c) 2017, 2019 Contributors to the Eclipse Foundation
//
= Jakarta XML Binding
:authors: Jakarta XML Binding Team, https://projects.eclipse.org/projects/ee4j.jaxb
:email: https://dev.eclipse.org/mailman/listinfo/jaxb-dev
:version-label!:
:doctype: book
:license: Eclipse Foundation Specification License v1.0
:source-highlighter: coderay
:toc: left
:toclevels: 4
:sectnumlevels: 4
:sectanchors:
ifdef::backend-pdf[]
:pagenums:
:numbered:
:title-logo-image: image:jakarta_ee_logo_schooner_color_stacked_default.png[pdfwidth=4.25in,align=right]
endif::[]
// == License
:sectnums!:
include::license-efsl.adoc[]
// == Jakarta XML Binding
:sectnums:
include::jakarta.xml.bind.adoc[]
== Introduction
The Jakarta XML Binding provides an API and tools that automate the mapping
between XML documents and Java objects.
\ No newline at end of file
[subs="normal"]
....
Specification: {doctitle}
Version: {revnumber}
Status: {revremark}
Release: {revdate}
....
=== Eclipse Foundation Specification License
By using and/or copying this document, or the Eclipse Foundation
document from which this statement is linked, you (the licensee) agree
that you have read, understood, and will comply with the following
terms and conditions:
Permission to copy, and distribute the contents of this document, or
the Eclipse Foundation document from which this statement is linked, in
any medium for any purpose and without fee or royalty is hereby
granted, provided that you include the following on ALL copies of the
document, or portions thereof, that you use:
* link or URL to the original Eclipse Foundation document.
* All existing copyright notices, or if one does not exist, a notice
(hypertext is preferred, but a textual representation is permitted)
of the form: "Copyright (c) [$date-of-document]
Eclipse Foundation, Inc. <<url to this license>>"
Inclusion of the full text of this NOTICE must be provided. We
request that authorship attribution be provided in any software,
documents, or other items or products that you create pursuant to the
implementation of the contents of this document, or any portion
thereof.
No right to create modifications or derivatives of Eclipse Foundation
documents is granted pursuant to this license, except anyone may
prepare and distribute derivative works and portions of this document
in software that implements the specification, in supporting materials
accompanying such software, and in documentation of such software,
PROVIDED that all such works include the notice below. HOWEVER, the
publication of derivative works of this document for use as a technical
specification is expressly prohibited.
The notice is:
"Copyright (c) 2018 Eclipse Foundation. This software or
document includes material copied from or derived from [title and URI
of the Eclipse Foundation specification document]."
==== Disclaimers
THIS DOCUMENT IS PROVIDED &quot;AS IS,&quot; AND THE COPYRIGHT
HOLDERS AND THE ECLIPSE FOUNDATION MAKE NO REPRESENTATIONS OR
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE
SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS
WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR
OTHER RIGHTS.
THE COPYRIGHT HOLDERS AND THE ECLIPSE FOUNDATION WILL NOT BE LIABLE
FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT
OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE
CONTENTS THEREOF.
The name and trademarks of the copyright holders or the Eclipse
Foundation may NOT be used in advertising or publicity pertaining to
this document or its contents without specific, written prior
permission. Title to copyright in this document will at all times
remain with copyright holders.
#
# Following is the asciidoctor-pdf default theme [1], with small
# customizations, mostly for header and footer, marked "EE".
#
# [1] https://github.com/asciidoctor/asciidoctor-pdf/blob/master/data/themes/default-theme.yml
#
font:
catalog:
# Noto Serif supports Latin, Latin-1 Supplement, Latin Extended-A, Greek, Cyrillic, Vietnamese & an assortment of symbols
Noto Serif:
normal: notoserif-regular-subset.ttf
bold: notoserif-bold-subset.ttf
italic: notoserif-italic-subset.ttf
bold_italic: notoserif-bold_italic-subset.ttf
# M+ 1mn supports ASCII and the circled numbers used for conums
M+ 1mn:
normal: mplus1mn-regular-ascii-conums.ttf
bold: mplus1mn-bold-ascii.ttf
italic: mplus1mn-italic-ascii.ttf
bold_italic: mplus1mn-bold_italic-ascii.ttf
# M+ 1p supports Latin, Latin-1 Supplement, Latin Extended, Greek, Cyrillic, Vietnamese, Japanese & an assortment of symbols
# It also provides arrows for ->, <-, => and <= replacements in case these glyphs are missing from font
M+ 1p Fallback:
normal: mplus1p-regular-fallback.ttf
bold: mplus1p-regular-fallback.ttf
italic: mplus1p-regular-fallback.ttf
bold_italic: mplus1p-regular-fallback.ttf
fallbacks:
- M+ 1p Fallback
page:
background_color: ffffff
layout: portrait
margin: [0.5in, 0.67in, 0.67in, 0.67in]
# margin_inner and margin_outer keys are used for recto/verso print margins when media=prepress
margin_inner: 0.75in
margin_outer: 0.59in
#size: A4 # EE
size: Letter # EE
base:
align: justify
# color as hex string (leading # is optional)
font_color: 333333
# color as RGB array
#font_color: [51, 51, 51]
# color as CMYK array (approximated)
#font_color: [0, 0, 0, 0.92]
#font_color: [0, 0, 0, 92%]
font_family: Noto Serif
# choose one of these font_size/line_height_length combinations
#font_size: 14
#line_height_length: 20
#font_size: 11.25
#line_height_length: 18
#font_size: 11.2
#line_height_length: 16
font_size: 10.5
#line_height_length: 15
# correct line height for Noto Serif metrics
line_height_length: 12
#font_size: 11.25
#line_height_length: 18
line_height: $base_line_height_length / $base_font_size
font_size_large: round($base_font_size * 1.25)
font_size_small: round($base_font_size * 0.85)
font_size_min: $base_font_size * 0.75
font_style: normal
border_color: eeeeee
border_radius: 4
border_width: 0.5
# FIXME vertical_rhythm is weird; we should think in terms of ems
#vertical_rhythm: $base_line_height_length * 2 / 3
# correct line height for Noto Serif metrics (comes with built-in line height)
vertical_rhythm: $base_line_height_length
horizontal_rhythm: $base_line_height_length
# QUESTION should vertical_spacing be block_spacing instead?
vertical_spacing: $vertical_rhythm
link:
font_color: 428bca
# literal is currently used for inline monospaced in prose and table cells
literal:
font_color: b12146
font_family: M+ 1mn
menu_caret_content: " <font size=\"1.15em\"><color rgb=\"b12146\">\u203a</color></font> "
heading:
align: left
#font_color: 181818
font_color: $base_font_color
font_family: $base_font_family
font_style: bold
# h1 is used for part titles (book doctype) or the doctitle (article doctype)
#h1_font_size: floor($base_font_size * 2.6) # EE
h1_font_size: floor($base_font_size * 2.5) # EE, squeeze title onto one line
# h2 is used for chapter titles (book doctype only)
h2_font_size: floor($base_font_size * 2.15)
h3_font_size: round($base_font_size * 1.7)
h4_font_size: $base_font_size_large
h5_font_size: $base_font_size
h6_font_size: $base_font_size_small
#line_height: 1.4
# correct line height for Noto Serif metrics (comes with built-in line height)
line_height: 1
margin_top: $vertical_rhythm * 0.4
margin_bottom: $vertical_rhythm * 0.9
title_page:
align: right
logo:
top: 10%
title:
top: 55%
font_size: $heading_h1_font_size
font_color: 999999
line_height: 0.9
subtitle:
font_size: $heading_h3_font_size
font_style: bold_italic
line_height: 1
authors:
margin_top: $base_font_size * 1.25
font_size: $base_font_size_large
font_color: 181818
revision:
margin_top: $base_font_size * 1.25
block:
margin_top: 0
margin_bottom: $vertical_rhythm
caption:
align: left
font_size: $base_font_size * 0.95
font_style: italic
# FIXME perhaps set line_height instead of / in addition to margins?
margin_inside: $vertical_rhythm / 3
#margin_inside: $vertical_rhythm / 4
margin_outside: 0
lead:
font_size: $base_font_size_large
line_height: 1.4
abstract:
font_color: 5c6266
font_size: $lead_font_size
line_height: $lead_line_height
font_style: italic
first_line_font_style: bold
title:
align: center
font_color: $heading_font_color
font_family: $heading_font_family
font_size: $heading_h4_font_size
font_style: $heading_font_style
admonition:
column_rule_color: $base_border_color
column_rule_width: $base_border_width
padding: [0, $horizontal_rhythm, 0, $horizontal_rhythm]
#icon:
# tip:
# name: fa-lightbulb-o
# stroke_color: 111111
# size: 24
label:
text_transform: uppercase
font_style: bold
blockquote:
font_color: $base_font_color
font_size: $base_font_size_large
border_color: $base_border_color
border_width: 5
# FIXME disable negative padding bottom once margin collapsing is implemented
padding: [0, $horizontal_rhythm, $block_margin_bottom * -0.75, $horizontal_rhythm + $blockquote_border_width / 2]
cite_font_size: $base_font_size_small
cite_font_color: 999999
# code is used for source blocks (perhaps change to source or listing?)
code:
font_color: $base_font_color
font_family: $literal_font_family
font_size: ceil($base_font_size)
padding: $code_font_size
line_height: 1.25
# line_gap is an experimental property to control how a background color is applied to an inline block element
line_gap: 3.8
background_color: f5f5f5
border_color: cccccc
border_radius: $base_border_radius
border_width: 0.75
conum:
font_family: M+ 1mn
font_color: $literal_font_color
font_size: $base_font_size
line_height: 4 / 3
example:
border_color: $base_border_color
border_radius: $base_border_radius
border_width: 0.75
background_color: ffffff
# FIXME reenable padding bottom once margin collapsing is implemented
padding: [$vertical_rhythm, $horizontal_rhythm, 0, $horizontal_rhythm]
image:
align: left
prose:
margin_top: $block_margin_top
margin_bottom: $block_margin_bottom
sidebar:
background_color: eeeeee
border_color: e1e1e1
border_radius: $base_border_radius
border_width: $base_border_width
# FIXME reenable padding bottom once margin collapsing is implemented
padding: [$vertical_rhythm, $vertical_rhythm * 1.25, 0, $vertical_rhythm * 1.25]
title:
align: center
font_color: $heading_font_color
font_family: $heading_font_family
font_size: $heading_h4_font_size
font_style: $heading_font_style
thematic_break:
border_color: $base_border_color
border_style: solid
border_width: $base_border_width
margin_top: $vertical_rhythm * 0.5
margin_bottom: $vertical_rhythm * 1.5
description_list:
term_font_style: bold
term_spacing: $vertical_rhythm / 4
description_indent: $horizontal_rhythm * 1.25
outline_list:
indent: $horizontal_rhythm * 1.5
#marker_font_color: 404040
# NOTE outline_list_item_spacing applies to list items that do not have complex content
item_spacing: $vertical_rhythm / 2
table:
background_color: $page_background_color
#head_background_color: <hex value>
#head_font_color: $base_font_color
head_font_style: bold
#body_background_color: <hex value>
body_stripe_background_color: f9f9f9
foot_background_color: f0f0f0
border_color: dddddd
border_width: $base_border_width
cell_padding: 3
toc:
indent: $horizontal_rhythm
line_height: 1.4
dot_leader:
#content: ". "
font_color: a9a9a9
#levels: 2 3
# NOTE in addition to footer, header is also supported
footer:
font_size: $base_font_size_small
# NOTE if background_color is set, background and border will span width of page
#border_color: dddddd # EE
#border_width: 0.25 # EE
height: $base_line_height_length * 2.5
line_height: 1
padding: [$base_line_height_length / 2, 1, 0, 1]
vertical_align: top
#image_vertical_align: <alignment> or <number>
# additional attributes for content:
# * {page-count}
# * {page-number}
# * {document-title}
# * {document-subtitle}
# * {chapter-title}
# * {section-title}
# * {section-or-chapter-title}
recto:
#columns: "<50% =0% >50%"
right:
#content: '{page-number}' # EE
#content: '{section-or-chapter-title} | {page-number}'
#content: '{document-title} | {page-number}'
content: '{document-title}{nbsp}{nbsp}{nbsp} *{page-number}*' # EE
#center:
# content: '{page-number}'
left: # EE
content: '{status}' # EE
verso:
#columns: $footer_recto_columns
left:
#content: $footer_recto_right_content # EE
#content: '{page-number} | {chapter-title}'
content: '*{page-number}* {nbsp}{nbsp}{nbsp}{document-title}' # EE
#center:
# content: '{page-number}'
right: # EE
content: '{status}' # EE
header: # EE
font_size: $base_font_size_small # EE
border_color: dddddd # EE
border_width: 0.25 # EE
height: $base_line_height_length * 2.5 # EE
line_height: 1 # EE
padding: [$base_line_height_length / 2, 1, 0, 1] # EE
vertical_align: top # EE
recto: # EE
right: # EE
content: '{section-or-chapter-title}' # EE
verso: # EE
left: # EE
content: '{section-or-chapter-title}' # EE
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment