- docker
env:
+ - IMPL=bash
+ - IMPL=c
- IMPL=js
+ - IMPL=make
- IMPL=python
script:
--- /dev/null
+FROM ubuntu:vivid
+MAINTAINER Joel Martin <github@martintribe.org>
+
+##########################################################
+# General requirements for testing or common across many
+# implementations
+##########################################################
+
+RUN apt-get -y update
+
+# Required for running tests
+RUN apt-get -y install make python
+
+# Some typical implementation and test requirements
+RUN apt-get -y install curl libreadline-dev libedit-dev
+
+RUN mkdir -p /mal
+WORKDIR /mal
+
+##########################################################
+# Specific implementation requirements
+##########################################################
+
+# Nothing additional needed for bash
all: mal.sh
mal.sh: $(SOURCES)
- cat $+ > $@
echo "#!/usr/bin/env bash" > $@
cat $+ | grep -v "^source " >> $@
chmod +x $@
--- /dev/null
+FROM ubuntu:vivid
+MAINTAINER Joel Martin <github@martintribe.org>
+
+##########################################################
+# General requirements for testing or common across many
+# implementations
+##########################################################
+
+RUN apt-get -y update
+
+# Required for running tests
+RUN apt-get -y install make python
+
+# Some typical implementation and test requirements
+RUN apt-get -y install curl libreadline-dev libedit-dev
+
+RUN mkdir -p /mal
+WORKDIR /mal
+
+##########################################################
+# Specific implementation requirements
+##########################################################
+
+# Install g++ so that it's common with C++ Dockerfile
+RUN apt-get -y install g++
+
+# Libraries needed for the C impl
+RUN apt-get -y install libglib2.0 libglib2.0-dev libffi-dev
RUN apt-get -y install make python
# Some typical implementation and test requirements
-RUN apt-get -y install curl libreadline6-dev
+RUN apt-get -y install curl libreadline-dev libedit-dev
RUN mkdir -p /mal
WORKDIR /mal
# Specific implementation requirements
##########################################################
+# For building node modules
+RUN apt-get -y install g++
+
# Add nodesource apt repo config for 0.12 stable
RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash -
ENV NPM_CONFIG_CACHE /mal/.npm
-# For building modules
-RUN apt-get -y install g++
--- /dev/null
+FROM ubuntu:vivid
+MAINTAINER Joel Martin <github@martintribe.org>
+
+##########################################################
+# General requirements for testing or common across many
+# implementations
+##########################################################
+
+RUN apt-get -y update
+
+# Required for running tests
+RUN apt-get -y install make python
+
+# Some typical implementation and test requirements
+RUN apt-get -y install curl libreadline-dev libedit-dev
+
+RUN mkdir -p /mal
+WORKDIR /mal
+
+##########################################################
+# Specific implementation requirements
+##########################################################
+
+# Nothing additional needed for make
RUN apt-get -y install make python
# Some typical implementation and test requirements
-RUN apt-get -y install curl libreadline6-dev
+RUN apt-get -y install curl libreadline-dev libedit-dev
RUN mkdir -p /mal
WORKDIR /mal
SOURCES_LISP = env.py core.py stepA_mal.py
SOURCES = $(SOURCES_BASE) $(SOURCES_LISP)
-all:
+all: mal.py
true
-#all: mal.sh
-#
-#mal.sh: $(SOURCES)
-# cat $+ > $@
-# echo "#!/bin/bash" > $@
-# cat $+ | grep -v "^source " >> $@
-# chmod +x $@
-#
-#clean:
-# rm -f mal.sh
+mal.py: stepA_mal.py
+ echo "#!/usr/bin/env python" > $@
+ cat $+ >> $@
+ chmod +x $@
+
+clean:
+ rm -f mal.py
.PHONY: stats tests $(TESTS)