Restructured project to version builds and move CSS into src.

* Added a new version implementation to the build. The build task now triggers
  an increment to the build version.
* Reconfigured the war plugin to filter source files and replace the @version@
  token with the project version and to rename css and js files to include the
  version number in the filename.
This commit is contained in:
Jonathan Bernard
2015-03-17 18:15:13 -05:00
parent f6f3222855
commit 29f00f806b
14 changed files with 122 additions and 115 deletions

View File

@ -1,9 +0,0 @@
dataSourceClassName=com.impossibl.postgres.jdbc.PGDataSource
dataSource.user=jdbernard
dataSource.password=wh!73bl@k
dataSource.database=nlsongs
dataSource.host=localhost
#dataSource.cachePrepStmts=true
#dataSource.prepStmtCacheSize=250
#dataSource.prepStmtCacheSqlLimit=2048
#dataSource.useServerPrepStmts=true

View File

@ -1,53 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<!-- PRODUCTION -->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<context-param>
<param-name>context.config.file</param-name>
<param-value>/datasource.properties</param-value>
</context-param>
<listener>
<listener-class>com.jdbernard.nlsongs.servlet.NLSongsContextListener</listener-class>
</listener>
<servlet>
<servlet-name>New Life Songs REST API</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.jdbernard.nlsongs.rest</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>GroovyTemplate</servlet-name>
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>New Life Songs REST API</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GroovyTemplate</servlet-name>
<url-pattern>*.gsp</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.gsp</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

View File

@ -0,0 +1,33 @@
$xSmallScreen: 320px;
$smallScreen: 640px;
$wideScreen: 1200px;
$ultraWideScreen: 1600px;
/** ### forSize
* This mixin allows us to apply some rules selectively based on the screen
* size. There are three primary sizes: `small`, `medium`, and `large`, which
* are mutually exclusive. Additionally there are two additional sizes:
* `notSmall` and `ultraLarge`. `notSmall`, as the name implies matches any
* value which is not the small screen size, so it overlaps with medium,
* large, and ultraLarge. `ultraLarge` defines a wider minimum screen size
* than large, but neither large nor ultraLarge specify maximum widths,
* so ultraLarge is a strict subset of large. A screen large enough to match
* ultraLarge will also match large (compare with medium and large: matching
* medium means it will not match large, and vice versa). */
@mixin forSize($size) {
@if $size == xsmall {
@media screen and (max-width: $xSmallScreen) { @content; } }
@else if $size == small {
@media screen and (max-width: $smallScreen) { @content; } }
@else if $size == notSmall {
@media screen and (min-width: $smallScreen + 1) { @content; } }
@else if $size == medium {
@media screen and (min-width: $smallScreen + 1) and (max-width: $wideScreen - 1) { @content; } }
@else if $size == large {
@media screen and (min-width: $wideScreen) { @content; } }
@else if $size == ultraLarge {
@media screen and (min-width: $ultraWideScreen) { @content; } }
}

View File

@ -0,0 +1,51 @@
/**
* # New Life Songs DB
* @author Jonathan Bernard <jdb@jdb-labs.com>
*/
$dark: #333;
@import "forSize.mixin.scss";
@import "reset.scss";
body {
color: $dark;
font-family: Cantarell;
margin: 2rem auto;
width: 60rem; }
header {
position: relative;
& > h1, & > h2 {
font-family: "Roboto Condensed";
margin-bottom: 1.5em; }
nav {
position: absolute;
top: 0;
right: 0;
ul {
list-style: none;
li {
display: block;
float: right;
padding: 0.4rem 0.6rem;
a {
color: $dark;
display: block;
padding: 0.1rem 0.4rem;
text-decoration: none; }
a:hover {
background-color: $dark;
border-radius: 3px;
color: white;
}
} } } }
th { font-family: "Roboto Condensed"; }

View File

@ -0,0 +1,14 @@
/// Global Rules
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0; }
/* HTML5 elements */
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block; }