src.hhvn.uk > hhvn.uk-scripts > file > www > generate > src > gomod

scripts that power hhvn.uk
Log | Files | Refs | README

gomod (663B)


      1 #!/bin/rc
      2 
      3 domain = $1
      4 gitdir = /var/git
      5 if (~ $domain ()) {
      6 	domain = `hostname
      7 }
      8 wwwdir = /var/www/htdocs/go.$domain
      9 
     10 
     11 tmpdir = `{mktemp -d}
     12 if (!cd $tmpdir) {
     13 	exit 1
     14 }
     15 
     16 fn sigexit {
     17 	rm -rf $tmpdir
     18 }
     19 
     20 for (repo in $gitdir/*) {
     21 	name = `{basename $repo}
     22 	dest = $wwwdir/$name
     23 
     24 	if (test -e go.mod) {
     25 		rm go.mod
     26 	}
     27 
     28 	if (git archive --remote=$repo HEAD go.mod >[2]/dev/null | tar -xf - >[2]/dev/null) {
     29 		echo GEN go.$domain $name
     30 		mkdir -p $dest
     31 		modname = `{head -1 go.mod | sed 's/^module //'}
     32 		printf '<!DOCTYPE html><html><head><meta name="go-import" content="%s git %s"></head></html>' \
     33 			$modname https://src.$domain/$name > $dest/index.html
     34 	}	
     35 }