wget http://open-source.cs.pub.ro/summer-school/res/tasks/tasks-auto-dev.zip unzip tasks-auto-dev.zip
apt-get install dia apt-get install ant apt-get install sun-java6-jdk apt-get install flex bison apt-get install texlive-latex-base texlive-latex-extra texlive-bibtex-extra texlive-publishers highlight
git init . git add . git commit -m 'Add OSSS tasks' git config --global user.name "Prenume Nume" git config --global user.email "prenume.nume@nomail.me" git config --global color.ui auto
01-update-make/
.make
pentru a compila sursele. Ignorați warning-urile.Makefile
.loop_main.cpp
, la linia 211, este comentată funcția dead_code_elimination()
.make
) să includă fișierul dead_code.cpp
.make
.git add Makefile loop_main.cpp git commit -m 'Use dead code elimination'
02-make-from-scratch/
.cap-01/
, cap-02/
, cap-03/
) conțin surse LaTeX. Ne propunem să creăm fișiere Makefile pentru compilarea surselor.cap-01/
.pdflatex cap-01.tex
.all
, cap-01.pdf
și clean
.PDFLATEX
, comanda folosită pentru compilarea surselor.BASENAME
, numele de bază al fișierului (cap-01
).$(addsuffix extension, $(BASENAME))
pentru a defini noi variabile:TEX
, numele fișierului sursă (cap-01.tex
) (concanenați extensia .tex
la BASENAME
).PDF
, numele de bază al fișierului (cap-01.pdf
) (concanenați extensia .tex
la BASENAME
).OUT_DIR
cu valoarea texfiles
.pdflatex
primește ca argument opțiunea -output-directory
(vezi manual) pentru a genera fișierele de ieșire acolo.texfiles/
și pentru a copia, la finele compilării, fișierul PDF din cadrul subdirectorului în directorul primar.git add Makefile git commit -m 'Add Makefile for cap-01'
cap-02/
.Makefile
din subdirectorul cap-01/
și actualizați BASENAME
.Makefile
din subdirectorul code/
.-test -d $(CODE_DIR) && make -C $(CODE_DIR) -test -d $(CODE_DIR) && make -C $(CODE_DIR) clean
git add Makefile code/Makefile git commit -m 'Add Makefiles for cap-02'
cap-03/
.dia
instalați-l.Makefile
din subdirectorul cap-01/
și actualizați BASENAME
.make
. Ce observați?img/
.dia -t eps ierarhia-de-procese.dia epstopdf ierarhia-de-procese.eps
cap-03/
și actualizați fișierul Makefile pentru a compila automat fișierul PDF de mai sus.make -C ...
la fel ca la exercițiul anterior.git add Makefile img/Makefile git commit -m 'Add Makefiles for cap-03'
swarm.cs.pub.ro
:ssh -l username swarm.cs.pub.ro
swarm.cs.pub.ro
.git-repos/
și, în cadrul acestuia repository-ul osss.git
:mkdir git-repos cd git-repos git init --bare osss.git
~/public_html/projects/osss/
:mkdir -p ~/public_html/projects/osss/
03-git-hook/
.origin
la valoarea username@swarm.cs.pub.ro:git-repos/osss.git
, unde username este numele vostru de utilizator de pe swarm.cs.pub.ro
.scp
), conținutul directorului la username@swarm.cs.pub.ro:git-repos/osss.git/hooks/
:scp -r * username@swarm.cs.pub.ro:git-repos/osss.git/hooks/
git push origin master
http://swarm.cs.pub.ro/~username/projects/osss/
.04-ant-demo/
.build.xml
și sursele din directorul src/
.JAVA_HOME=/usr/lib/jvm/java-6-sun/ ant
JAVA_HOME
în shell:export JAVA_HOME=/usr/lib/jvm/java-6-sun/
.class
compilate în directorul classes/
.doc/api/
.buil.xml
dispune de regulă pentru generarea documentației. Folosiți acea regulă.05-ant-from-scratch/
.build.xml
de la exercițiul anterior.ro.pub.cs.sprc.chord
..java
, următoarea linie:package ro.pub.cs.sprc.chord;
run
. Sunt mai multe clase de tip main și nu are rost să complicăm fișierul build.xml
.build
(implicit), clean
și doc
..gitignore
pentru a ignora fișierele obținute (fișierele .class
și fișierele de ieșire de tip Javadoc).